我试图从来自JSON值的字符串值中创建一个foreach循环,如下所示:
string '["userdomain.ltd"], ["test.com"]'我想在循环下做一个foreach循环和echo URL
我试过使用它,但它返回PHP Warning: Invalid argument supplied for foreach()。
foreach( $device_url as $url ){
echo $url;
}发布于 2020-08-30 20:38:15
您的输入是一个字符串,因此我们需要将其转换为迭代数组:
<?php
$str = '["userdomain.ltd"], ["test.com"]';
$arr = explode(',', $str);
foreach ($arr as $el) {
echo json_decode($el)[0];
echo "\n";
}在这里,您可以尝试工作代码:PHPize.online
发布于 2020-08-30 19:44:30
我的猜测是,在将字符串传递给循环之前,您并没有对字符串进行解码。你不能在绳子上循环。您应该首先使用json_decode函数对其进行解码,然后再使用您的循环。
<?php
$input = '{"key": "value"}';
$decodedIntput = json_decode($input);
foreach( $decodedIntput as $url ){
echo $url;
}我没有使用你的json,因为它看上去不有效。
发布于 2022-10-25 01:30:52
将json字符串包装在方括号中,使其在解码前有效。然后,只需访问2d数组第一列中的值。
代码:(演示)
var_export(
array_column(json_decode("[$str]"), 0)
);https://stackoverflow.com/questions/63661436
复制相似问题