繁体   English   中英

PHP-用PHP读取JS数组

[英]PHP - Read JS array in PHP

我有一个非常复杂的数组,我想将其转换为PHP有​​效数组,以便我可以遍历所有值。

JS数组:

$test = (       // Portraits
  {'image'=> 'http://farm8.staticflickr.com/7319/8993158058_f82968e61a_b.jpg', 'thumb'=> 'http://farm8.staticflickr.com/7319/8993158058_f82968e61a_t.jpg'},
  {'image'=> 'http://farm3.staticflickr.com/2891/8993155214_b8e091c625_b.jpg', 'thumb'=> 'http://farm3.staticflickr.com/2891/8993155214_b8e091c625_t.jpg'},
  {'image'=> 'http://farm8.staticflickr.com/7432/8993133146_d647438c55_b.jpg', 'thumb'=> 'http://farm8.staticflickr.com/7432/8993133146_d647438c55_t.jpg'});

编辑

PHP循环:应该包含每个值的图像部分

  for ($i = 0;$i < $test.length;$i++){
    saveToDisk($test[$i]['image'],$i);
 }

以上正确吗? 我如何读取这些值?

您可以使用json_decode函数将json格式的字符串转换为PHP数组(如果您在不使用第二个参数的情况下调用它,则将其转换为对象,或者使用false代替)

$test = '[{"image":"http:\/\/farm8.staticflickr.com\/7319\/8993158058_f82968e61a_b.jpg","thumb":"http:\/\/farm8.staticflickr.com\/7319\/8993158058_f82968e61a_t.jpg"},{"image":"http:\/\/farm3.staticflickr.com\/2891\/8993155214_b8e091c625_b.jpg","thumb":"http:\/\/farm3.staticflickr.com\/2891\/8993155214_b8e091c625_t.jpg"},{"image":"http:\/\/farm8.staticflickr.com\/7432\/8993133146_d647438c55_b.jpg","thumb":"http:\/\/farm8.staticflickr.com\/7432\/8993133146_d647438c55_t.jpg"}]';

$array = json_decode($test, 1);

// Looping each inner array and printing image/thumb keys
foreach ($array as $arr) {
   echo $arr['image'].' - '.$arr['thumb'];
}

同样,为了将JavaScript对象转换为有效的JSON字符串,您应该使用JSON.strngify函数:

JSON.stringify(object); // <-- JavaScript function

您可以使用json_decode在PHP中读取解析

您的“数组”代码看起来像PHP和Javascript语法之间的无效混合。 它看起来应该更像:

$test = json_decode("[
  {'image'=> 'http://farm8.staticflickr.com/7319/8993158058_f82968e61a_b.jpg', 'thumb'=> 'http://farm8.staticflickr.com/7319/8993158058_f82968e61a_t.jpg'},
  {'image'=> 'http://farm3.staticflickr.com/2891/8993155214_b8e091c625_b.jpg', 'thumb'=> 'http://farm3.staticflickr.com/2891/8993155214_b8e091c625_t.jpg'},
  {'image'=> 'http://farm8.staticflickr.com/7432/8993133146_d647438c55_b.jpg', 'thumb'=> 'http://farm8.staticflickr.com/7432/8993133146_d647438c55_t.jpg'}]");

或者更好:

$test = [
  ['image'=> 'http://farm8.staticflickr.com/7319/8993158058_f82968e61a_b.jpg', 'thumb'=> 'http://farm8.staticflickr.com/7319/8993158058_f82968e61a_t.jpg'],
  ['image'=> 'http://farm3.staticflickr.com/2891/8993155214_b8e091c625_b.jpg', 'thumb'=> 'http://farm3.staticflickr.com/2891/8993155214_b8e091c625_t.jpg'],
  ['image'=> 'http://farm8.staticflickr.com/7432/8993133146_d647438c55_b.jpg', 'thumb'=> 'http://farm8.staticflickr.com/7432/8993133146_d647438c55_t.jpg']
];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM