0

我只需要打印第一个 child(1955) 数组的一个 sub_title。

这是一些示例代码(有效)来说明我的意思。

$array = Array
(
    [1955] => Array
        (
            [sub_title] => subtitle
            [sub_content] => content
        )
    [1957] => Array
        (
            [sub_title] => subtitle
            [sub_content] => conent
        )
    [1958] => Array
        (
            [sub_title] => subtitle
            [sub_content] => conent
        )
)
array_walk($array, function($item){
    echo $item['sub_title'];
    break;
});
4

2 回答 2

1

据我了解您的任务,您需要获取数组的第一个元素。使用reset(array $array)函数获取第一个元素,而不是获取值。所以你的代码应该看起来像$fistElement = reset($array); echo $firstElement['sub_titile']; 请阅读有关数组函数的文档,不要尝试用锤子缝制

于 2019-02-01T13:05:31.323 回答
-2

您应该创建一个作为标志的全局布尔变量

<?php
$walk_arr = [
    0 => "A",
    1 => "B",
    3 => "D",
    5 => "F",
];
global $stop_walk;
$stop_walk = false;
$walk_func = function(&$v, $k) {
    global $stop_walk;
    if ($k === 3) {
        $stop_walk = true;
    }
    if ($stop_walk) { 
        return;
    }
    $v .= " changed";
};
unset($stop_walk);

array_walk($walk_arr, $walk_func);
print_r($walk_arr);
print $stop_walk;

在行动中看到它:https ://3v4l.org/6kceo

BTW:你不能只输出第一行吗?

echo $array[1995]['sub_title']
于 2019-02-01T11:41:04.370 回答