PHP 多维数组如何获取值



这是我的php数组$data。

    Array
   ( 
   [upcoming] => Array 
              ( 
              [webinars] => Array 
                          ( 
                           [0] => Array 
                                 ( 
                                 [webinarKey] => 123456 
                                 [subject] => webinar title ...
                                 [times] => Array
                                         (
                                        [0] => Array
                                            (
                                           [startTime] => 2014-04-03T00:00:00Z

请在下面检查我的代码。我想获取"网络研讨会密钥"和"主题"和"开始日期 - 日期格式化"的值,并将它们放入我的选择框中。我现在可以填充"网络研讨会密钥和"主题"。谢谢大家帮助填充"网络研讨会密钥和主题",但现在我想显示"日期格式的开始日期"。

  echo '<form method="POST"><select>';
  foreach ($data["upcoming"]["webinars"] as $webinar) {
  echo '<option value="' . htmlspecialchars($webinar["webinarKey"]) . '">' . htmlspecialchars($webinar["subject"]) . htmlspecialchars($webinar["times"]["startTime"]) . '</option>';
}
    echo '</select></form>';

请帮我显示开始日期。

$data = array(/**/);
foreach ($data["upcoming"]["webinars"] as $webinar) {
    echo '<option value="' . htmlspecialchars($webinar["webinarKey"]) . '">' . htmlspecialchars($webinar["subject"]) . '</option>';
}

从我收集的内容来看,您需要循环的唯一数组是$data["upcoming"]["webinars"] .

确保输出 HTML 有效且数据已正确转义。

由于您尝试访问多维数组中的值,因此不能使用 ->,因为它用于对象的属性。相反,您需要像普通数组一样访问它:$array[key]

更新的代码:

echo '<select>';
foreach ($webinars as $obj)
{
    foreach ($obj['webinars'] as $ob)
    {
            echo '<option value='.$ob['webinarKey'].'>'.$ob['subject'].'</option>';
    }
}
echo '</select>';

您正在尝试使用属性,它是一个数组而不是一个对象。

您需要使用 $ob['----'] 而不是$ob>表示法

echo '<select>';
foreach ($webinars as $obj)
{
    foreach ($obj['webinars'] as $ob)
    {
            echo '<option value='.$ob['webinarKey'].'>'.$ob['subject'].'</option>';
    }
}
echo '</select>';

相关内容

  • 没有找到相关文章

最新更新