PHP相关的学习笔记
在CentOS 7上,当PHP出现400和500错误(例如INTERNAL SERVER ERROR)时,可以通过查看Apache的错误日志来追踪原因。
这个真的很方便,推荐一下。
Apache的错误日志位于/etc/httpd/logs目录下(默认设置)。
基本上,错误日志是以error_log [-20180521]的形式进行保存的,有时包含日期,有时没有。因此,我们可以使用less或tail等工具进行查看。
如果像我一样进行https连接,关于https通信的错误日志会被写入ssl_error_log文件中,而不会留在error_log中,所以请注意这一点!
05/24:将变量内容输出到文件中。
int file_put_contents ( string $filename , mixed $data);
很方便。
然而,如果要输出数组,即使在$data中放入一个数组,
只会输出”Array”,
却无法显示文件的内容。
使用print_r()函数,可以返回易于理解的格式作为返回值。
$dump = print_r( $array , TRUE);
$file_put_contents('hogefile', $dump);
如果是这样的话/那样的话,
Array
(
[events] => Array
(
[0] => Array
(
[type] => message
[replyToken] => xxxxxxxx
[source] => Array
(
[userId] => xxxxxxxx
[type] => user
)
[timestamp] => xxxxxxxxx
[message] => Array
(
[type] => text
[id] => xxxxxxx
[text] => hoge
)
)
)
)
预期的输出应该以您指定的hogefile文件写入,这是一种常见的格式。
顺便提一下,如果hogefile文件不存在,系统会自动创建。
请参考参考资料
数据类型检查
使用方法很简单,只需要使用gettype()函数。
echo gettype($ony_total[0]);
-> string
在检查preg_match函数的第三个参数的类型时使用。对于调试非常有用。
参考:官方文档
PHP日期
使用date()函数。将字符串放入其中。
echo $date("m月d日");
-> 04月24日
echo $date("n月j日");
-> 4月24日
就像您看到的那样,有一种方法是通过插入0将其转换为两位数,还有一种方法是直接输出。
参考这个文章:关于PHP日期的一篇文章,说实话看完这个就足够了。
正则表达式(04/24)的 PHP 实现
$text = "5回";
preg_match("/^[0-9]+/", $text, $array);
echo $array[0];
-> 5
积分 (jī
・第三个参数返回一个数组。$array[0]中存放匹配的字符串。
・第三个参数$array不需要事先声明。
・由于返回字符串类型,如果要提取数字,则需要使用(int)进行强制类型转换。
参考:官方文档