php - 如何在不检查数组的每个字段的情况下避免 PHP Notice "Undefined offset: 0"

标签 php arrays

我有以下数组:

    $keyvisual_data = array(
        'video_file'            => $row->field_field_video[0]['rendered']['#item']['uri'],
        'bild_file'             => $row->field_field_bild[0]['rendered']['#item']['uri'],
        'subline_src'           => $row->_field_data['nid']['entity']->field_key_titel['und'][0]['safe_value'],
        'screenreader_src'      => $row->field_field_alt_screenreader[0]['rendered']['#markup'],
        'alt_src'               => $row->field_field_bild[0]['rendered']['#item']['alt']
    );

可能会发生某些字段未设置的情况,这没关系。事实上,我收到了这个 PHP 通知:

Notice: Undefined offset: 0 in bafa_insert_keyvisual() ...........

如果不手动检查数组的每个字段,是否可以为每个键分配一个默认值以防它未定义?

感谢帮助

最佳答案

没有

你可以做一个isset():

if(isset($array[0])){
    echo $array[0];
}
else {
  //some error?
}

或者如果你知道你只会检查索引 0:

$array = $array + array(null);

所以如果原来的 $array[0] 没有设置,现在是 null

关于php - 如何在不检查数组的每个字段的情况下避免 PHP Notice "Undefined offset: 0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7688814/

相关文章:

javascript - 嵌套的 JavaScript 数组 : access across module boundaries

javascript - 如何创建未调用的 Promise 函数的数组

python - 如何将 Python 数组转换为 SymPy 矩阵来计算行列式?

phpstorm 下一行大括号

php - 使用 UTF-8 在数据库中存储 HTML/特殊字符

javascript - 遍历数组数组

arrays - 快速数组/字典建议

php - Laravel $q->where() 日期之间

php - 如何自动聚焦唯一错误的输入字段?

php - 路由不工作 laravel 5?