2

我有关联数组和与该键相关的值包含 json_encoded 数据,因此我对其进行了转换并生成了数组,我使用 array_walk 迭代每个数组值,而不是使用 foreach 循环打印值,但同时我想推送(键和values) 在空数组中,该数组在外部声明但未插入任何值。

注意:这里$result是关联数组,它的键包含 json 数据的值,我不想使用嵌套的 foreach 循环,所以使用了 array_walk()

$new_array=array();

array_walk($result, function(&$a, &$key) use($i) {

    $var = '';
    foreach (json_decode($a) as $row_key => $row_value) {

        if ($row_key == 'abc') {
            $new_array[$row_key][] = array(    // push key,value in $new_array
                $row_key => $row_value,
            );
        } else {

           echo $row_key . " : " . $row_value ;
        }
    }
});
4

1 回答 1

1

参考使用 $new_array

array_walk($result, function(&$a, &$key) use($i, &$new_array) {

$a此外,我认为传递和$key引用没有任何意义。也许,您向我们展示的不是完整的代码,而是通过引用传递$a并且$key有意义,但目前,您甚至没有$key在代码中使用。

那通过它的目的是什么?

// probably:
array_walk($result, function($a) use($i, &$new_array) {
于 2020-02-02T15:30:43.793 回答