首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中的foreach循环中处理json字符串

问如何在php中的foreach循环中处理json字符串
EN

Stack Overflow用户
提问于 2020-08-30 19:37:23
回答 3查看 207关注 0票数 0

我试图从来自JSON值的字符串值中创建一个foreach循环,如下所示:

代码语言:javascript
复制
string '["userdomain.ltd"], ["test.com"]'

我想在循环下做一个foreach循环和echo URL

我试过使用它,但它返回PHP Warning: Invalid argument supplied for foreach()。

代码语言:javascript
复制
foreach( $device_url as $url ){
    echo $url;
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-08-30 20:38:15

您的输入是一个字符串,因此我们需要将其转换为迭代数组:

代码语言:javascript
复制
<?php
$str = '["userdomain.ltd"], ["test.com"]';

$arr = explode(',', $str);

foreach ($arr as $el) {
    echo json_decode($el)[0];
    echo "\n";
}

在这里,您可以尝试工作代码:PHPize.online

票数 1
EN

Stack Overflow用户

发布于 2020-08-30 19:44:30

我的猜测是,在将字符串传递给循环之前,您并没有对字符串进行解码。你不能在绳子上循环。您应该首先使用json_decode函数对其进行解码,然后再使用您的循环。

代码语言:javascript
复制
<?php
$input = '{"key": "value"}';
$decodedIntput = json_decode($input);
foreach( $decodedIntput as $url ){
    echo $url;
}

我没有使用你的json,因为它看上去不有效。

票数 0
EN

Stack Overflow用户

发布于 2022-10-25 01:30:52

将json字符串包装在方括号中,使其在解码前有效。然后,只需访问2d数组第一列中的值。

代码:(演示)

代码语言:javascript
复制
var_export(
    array_column(json_decode("[$str]"), 0)
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63661436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档