Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从json响应中提取值_Php_Regex_Web Scraping - Fatal编程技术网

Php 从json响应中提取值

Php 从json响应中提取值,php,regex,web-scraping,Php,Regex,Web Scraping,我得到了这样的json响应 "created_at" ]=>string(30)"Thu Mar 13 14:24:13 +0000 2014" 我想分别提取日期、时间、月份。可以通过regex吗 更新: 我希望日期、时间、月份都在单独的变量中。无需测试,您可以执行以下操作 $response = json_decode(/* json string */); $dt new DateTime(response->created_at); $date = $dt

我得到了这样的json响应

"created_at"
        ]=>string(30)"Thu Mar 13 14:24:13 +0000 2014"
我想分别提取日期、时间、月份。可以通过regex吗

更新:


我希望日期、时间、月份都在单独的变量中。

无需测试,您可以执行以下操作

$response = json_decode(/* json string */);

$dt new DateTime(response->created_at);

$date = $dt->format('m/d/Y');
$time = $dt->format('H:i:s');

$month = $dt->format('m');

如果您的json有效,请尝试使用DateTime的createFromFormat方法。正则表达式的性能会更好,但这更容易阅读和理解

$created_at = $thing->created_at;
$date = DateTime::createFromFormat('D M d H:m:s O Y', $created_at); // this might be overly verbose

echo $date->format('Y-m-d'); // 2014-03-13
echo $date->format('H:m:s'); // 14:24:13

查看日期格式。

这似乎不是一个有效的json响应。您可以检查它并解码json,然后使用
DateTime
类操纵日期/时间。请阅读更新问题。您能帮我从输出字符串中提取值吗?i、 e.
2014年3月13日星期四14:24:13+0000
如果你高兴,你能选择一个答案吗?它有助于人们将来寻找答案。你能帮我从输出字符串中提取值吗?i、 e.
2014年3月13日星期四14:24:13+0000
更新,请参阅$hour、$date、$time等,我正在更改格式参数:)如果你告诉我你想要编辑的确切部分,我可以再次编辑。看看上面,它现在给你一个$date、$time和$month变量。如果你解码json,它不会变成一个对象吗$事物[在'创造';将是$thing->created\u at;我可能错了。你能帮我从输出字符串中删除值吗?i、 e.
2014年3月13日星期四14:24:13+0000
read udatedquestion@OliverBS哦,是的,它将是一个对象,除非
assoc
param为true,否则它将是一个数组。