Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP错误:未定义索引:id_Php_Associative Array - Fatal编程技术网

PHP错误:未定义索引:id

PHP错误:未定义索引:id,php,associative-array,Php,Associative Array,以前我的代码是这样的: for ($i=0, $n=sizeof($values); $i<$n; $i++) { $field .= '<option value="' . xtc_parse_input_field_data($values[$i]['id'], array('"' => '&quot;')) . '"'; if ($default == $values[$i]['id']) { $field .= ' selected="selec

以前我的代码是这样的:

for ($i=0, $n=sizeof($values); $i<$n; $i++) {
  $field .= '<option value="' . xtc_parse_input_field_data($values[$i]['id'], array('"' => '&quot;')) . '"';
  if ($default == $values[$i]['id']) {
    $field .= ' selected="selected"';
  }

  $field .= '>' . xtc_parse_input_field_data($values[$i]['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>';
}
for($i=0,$n=sizeof($values);$i'')。“”;
如果($default==$values[$i]['id'])){
$field.=“selected=”selected“;
}
$field.='>'。xtc分析输入字段数据($values[$i]['text'],数组(''''=>'','\'''=>''和''039;','=>'));
}
根据一些建议,我将其改为:

if (is_array($values) && count($values) > 0) {
  foreach ($values as $value) {
    $field .= '<option value="' . xtc_parse_input_field_data($value['id'], array('"' => '&quot;')) . '"';
    if ($default == $value['id']) {
      $field .= ' selected="selected"';
    }

    $field .= '>' . xtc_parse_input_field_data($value['text'], array('"' => '&quot;', '\'' => '&#039;', '<' => '&lt;', '>' => '&gt;')) . '</option>';
  }
}
if(is_数组($value)&&count($value)>0){
foreach($value作为$value){
$field.=''''.xtc_解析输入字段数据($value['text'],数组('''''''=>','\''''=>'&'039;',''=>'));
}
}
但错误依然存在:

注意:未定义的索引:E:\xampp\htdocs\testshop\inc\xtc\u draw\u pull\u down\u menu.inc.php中的id


是什么导致了这个错误?

我想说,警告基本上与您粘贴的代码无关,而是与
$value
首先没有名为
id
的索引有关。因此,为了修复它,您必须检查源代码,即生成/存储
$values
的位置,以了解为什么有些值没有id

话虽如此,为了防止代码中出现不必要的通知,您可以在继续之前添加以下行来测试名为
id
的索引是否存在:

if(array_key_exists('id',$value)) {
   //do all your stuff
}
您可以在
foreach($values as$value){
之后的行下方添加该值,这样,只有当
$value
具有
id
元素时,才能在循环中执行所有操作


但是,如前所述,如果您希望每个
$value
都有一个
id
,请返回生成
$value
的位置,检查那里发生了什么。

您是否尝试了
var\u dump($values)
?另外:错误消息是否包含行号?如果是,是哪一行?我想提醒大家,在要求任何澄清之前,这个问题已经接近2年了。OP可能无法告诉您,
$values
是什么样子。在显示的代码中,此错误只能来自两行,两行都是它们可以进行相同的访问。
$value['id']
。此代码的结构方式是,值数组需要是关联数组的数字数组。例如,使用
$values[]=array(“id”=>“blah”,“text”=>“bleah”)创建是的,我只是在为未来的访问者清理这个,因为这是我在谷歌搜索时得到的最好结果。