Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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/1/visual-studio-2008/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 非法字符串偏移量';子字段';排列_Php_Arrays_Woocommerce - Fatal编程技术网

Php 非法字符串偏移量';子字段';排列

Php 非法字符串偏移量';子字段';排列,php,arrays,woocommerce,Php,Arrays,Woocommerce,首先,我对阵列还是个新手。为什么会出现错误非法字符串偏移量“child\u field” 这是我的密码 $product_extras = $cart_item['product_extras']; foreach ( $product_extras as $product_extra ) { if ( $product_extra['child_field'] == 1 ) { echo "YES"; } } 这是数组 Array ( [pr

首先,我对阵列还是个新手。为什么会出现错误
非法字符串偏移量“child\u field”

这是我的密码

$product_extras = $cart_item['product_extras'];

foreach ( $product_extras as $product_extra ) {
    if ( $product_extra['child_field'] == 1 ) {
            echo "YES";
    }
}
这是数组

Array
(
    [products] => Array
        (
            [pewc_parent_product] => 8928
            [parent_field_id] => pewc_5d66c506a5bb6
            [child_field] => 1
            [pewc_group_8929_9028_child_field] => pewc_group_8929_9028
            [products_quantities] => one-only
            [allow_none] => 0
        )

    [product_id] => 8945
    [title] => Section 200
    [groups] => Array
        (
        )

)
[28-Aug-2019 21:49:47 UTC] PHP Warning:  Illegal string offset 'child_field' in C:\laragon\www\xxxxx\wp-content\plugins\xxxxx\inc\class-woocommerce.php on line 129

您有一个嵌套数组。因此在
foreach
循环中,它首先查看
[products]
元素(它是一个数组),是的,您有一个
[child\u field]
元素。然后查看下一个元素,即
[product\u id]
,您没有
[child\u field]
子元素。这就是错误

要修复:

 if ( isset($product_extra['child_field']) && $product_extra['child_field'] == 1 )

您应该移除foreach,并在必要时使用它

if(1 == $product_extra["products"]['child_field']){
    echo "YES";
}

或者,您也可以这样做:
foreach($product\U extras['products']作为$product\U extra)