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)进行强制类型转换。
参考:官方文档

广告
将在 10 秒后关闭
bannerAds