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']
];