我在用PHP创建数组时遇到了一些麻烦,我从JSON文件中提取数据并创建了要发布的数组。
我不太清楚为什么这个foreach循环不起作用。我在代码中看不到明显的语法错误。
错误:
PHP语法检查:解析错误:语法错误,第4行代码中出现意外的'foreach'(T_FOREACH),期望为')' foreach($ w ['order'] ['something'] as $ field => $ value){
我创建了一个没有foreach循环的数组,并且看起来工作正常(如下)。
"Items" => array(
array(
"l_ref" => "888",
"sku" => "888",
"qty" => "QTY",
"typ" => "4",
"job_ref" => "3929"
),
array(
"l_ref" => "888",
"sku" => "1323"
)
)
这是与当前的foreach循环不兼容的代码。有什么明显的我想念的吗?
$orderData = array (
"Order" => array(
"Items" => array(
foreach($w['order']['something'] as $field => $value) {
if ($value['something'][1]['name'] == "id") {
array(
"something" => "something"
)
}
}
)
)
)
我期望代码根据某个值循环并提取项目。
错误:PHP语法检查:解析错误:语法错误,第4行代码中出现意外的'foreach'(T_FOREACH),期望为')' foreach($ w ['order'] ['something'] as $ field => $ value){
答案 0 :(得分:0)
长话短说,像这样的数组构造函数中不能有语句
它看起来应该更类似于:
<?php
$orderData = array (
"Order" => array(
"Items" => array()
)
);
foreach($w['order']['something'] as $field => $value) {
if ($value['something'][1]['name'] == "id") {
$orderData['Order']['Items'] = array(
"something" => "something"
)
}
}