You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP多维数组无法显示全部元素,如何获取所有问题名称?

解决PHP多维数组中获取所有designation的问题

首先提个小细节:你代码里的字段拼写是designignation,应该是笔误多写了一个i(正确拼写是designation),如果实际字段名就是这个那没问题,要是写错了记得修正哦~

接下来针对你的情况,分两种场景来处理:

场景1:当前数组只有单个问题项

你给出的代码里,$questions的结构是外层有个question键,对应单个问题数组,那直接通过键名就能拿到这个designignation:

<?php
$questions = array( 
    'question' => array( 
        'designignation' => 'Souhaitez-vous pouvoir contrôler votre bateau ?', 
        'info' => '', 
        'Packs' => array( 
            'PackMini' => array( 
                'description' => 'Pack contrôle Basique', 
                'c' => array( 'b7' => '1', 'b9' => '1' ), 
                'm' => array( 'b7' => '1', 'b9' => '1' ) 
            ), 
            'PackTotal' => array(
                // 补全你的PackTotal内容,务必确保数组括号正确闭合
            )
        )
    )
);

// 获取单个问题的designignation
$singleDesignation = $questions['question']['designignation'];
echo $singleDesignation; // 输出对应的问题文本

场景2:数组包含多个问题项

如果你的$questions实际是包含多个问题的数组(比如类似array([0] => 问题1数组, [1] => 问题2数组...)),那可以用两种方法批量获取所有designignation:

方法1:foreach循环遍历

手动遍历数组,把每个问题的designignation收集起来:

$allDesignations = [];

foreach ($questions as $questionItem) {
    // 先判断字段是否存在,避免出现Undefined index报错
    if (isset($questionItem['designignation'])) {
        $allDesignations[] = $questionItem['designignation'];
    }
}

// 打印所有结果
print_r($allDesignations);

方法2:使用array_column函数(PHP 5.5及以上可用)

这个函数可以直接从多维数组中提取指定键的所有值,代码更简洁:

// 直接提取所有designignation字段的值
$allDesignations = array_column($questions, 'designignation');

print_r($allDesignations);

另外你提到“无法看到全部问题”,大概率是数组结构有问题——比如你代码里PackTotal后面的a...是未完成的内容,一定要确保数组的括号是正确闭合的,否则会出现语法错误,导致部分数据无法正常解析。

内容的提问来源于stack exchange,提问作者V. MARTIN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:35:26