数组foreach中的字符串偏移量非法

时间:2019-10-30 18:48:15

标签: php arrays

我将此数组发送到php,当我想显示结果时,出现以下错误:

“非法字符串偏移'nombre_color'”

这是错误发生前在同一php中用print_r()生成的数组结果:

Array(
    [0] => Array
        (
            [med_id] => 1
            [codigo] => 1111111111
            [medida] => XL
            [nombre_color] => Negro
            [color] => #000000
            [precio] => 1111
            [anterior] => 1000
            [stock] => 100
            [disponible] => 1
        )
)

这是给我错误的代码部分:

foreach($medidas as $medida){
    $med_id = $medida['med_id'];
    $codigo = $medida['codigo'];
    $medida = $medida['medida'];
    $nombre_color = $medida['nombre_color'];
    $color = $medida['color'];
    $precio = $medida['precio'];
    $anterior = $medida['anterior'];
    $stock = $medida['stock'];
    $disponible = $medida['disponible'];
}

预先感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

foreach var($ medida)的名称和一个元素的索引相同

答案 1 :(得分:0)

  

array_shift()将元素移出数组的开头

     

extract() 将变量从数组导入当前符号表

您可以使用array_shift机智extract

$medidas = array_shift($medidas);
extract($medidas);//This will make each index as variable i.e.
echo $med_id;

工作示例:-https://3v4l.org/bmVX6