Mat*_*iby 12 php arrays if-statement
可能重复:
数组(...)构造中的条件元素
这是我的代码
$product_option_value_data[] = array(
'product_option_value_id' => $product_option_value['product_option_value_id'],
if (isset($product_option_value_description_query->row['smallimage'])) {
'smallimage' => $product_option_value_description_query->row['smallimage'],
}
'name' => $product_option_value_description_query->row['name'],
'price' => $product_option_value['price'],
'prefix' => $product_option_value['prefix']
);
Run Code Online (Sandbox Code Playgroud)
我能做这样的事......
这是我的错误
Parse error: syntax error, unexpected T_IF, expecting ')' in /Users/mattelhotiby/Sites/posnation/shop_pos/catalog/model/catalog/product.php on line 419
Run Code Online (Sandbox Code Playgroud)
其实我这样做了
if (isset($product_option_value_description_query->row['smallimage'])) {
$smallimage = $product_option_value_description_query->row['smallimage'];
}else{
$smallimage = '';
}
$product_option_value_data[] = array(
'product_option_value_id' => $product_option_value['product_option_value_id'],
'smallimage' => $smallimage,
'name' => $product_option_value_description_query->row['name'],
'price' => $product_option_value['price'],
'prefix' => $product_option_value['prefix']
);
Run Code Online (Sandbox Code Playgroud)
但是我仍然想知道在这个数组声明中有一种方法可以做一个if
Tom*_*rdt 26
不是if,但类似的东西是可能的:
$product_option_value_data[] = array(
'product_option_value_id' => $product_option_value['product_option_value_id'],
'smallimage' => (isset($product_option_value_description_query->row['smallimage'])) ?
$product_option_value_description_query->row['smallimage'] : null,
'name' => $product_option_value_description_query->row['name'],
'price' => $product_option_value['price'],
'prefix' => $product_option_value['prefix']
);
Run Code Online (Sandbox Code Playgroud)
句法:
(<statement> ? <case: true> : <case: false>)
(1 == 1 ? 'yes!' : 'PHP is wrong')
Run Code Online (Sandbox Code Playgroud)
也许是这个?
$array = array(
'key1' => 'value1',
'key2' => 'value2',
);
if (isset(...)) {
$array['key3'] = 'value3';
}
$multiarray[] = $array;
Run Code Online (Sandbox Code Playgroud)