php - 数组声明中的 if 语句...这可能吗?

标签 php arrays if-statement

Possible Duplicate:
A conditional element inside an array(…) construct

这是我的代码

$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']
);

我可以做这样的事情吗......

这是我的错误

  Parse error: syntax error, unexpected T_IF, expecting ')' in /Users/mattelhotiby/Sites/posnation/shop_pos/catalog/model/catalog/product.php on line 419 

实际上我就是这么做的

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']
);

但是我仍然想知道是否有办法在这个数组声明中执行 if

最佳答案

不是 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']
);

语法:

(<statement> ? <case: true> : <case: false>)
(1 == 1 ? 'yes!' : 'PHP is wrong')

关于php - 数组声明中的 if 语句...这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8329897/

相关文章:

javascript - 为什么这个 Facebook 共享代码不起作用?

php - 使用 PHP PDO 更新复选框的数据库值,但不更新所有复选框

javascript - Firestore 更新数组字段中的单个项目

r - 使用 for 循环和 if 语句比较两个矩阵(x 和 y)以在其中一个矩阵 (y) 中创建新列 - 可重现

JavaScript && 运算符逻辑

javascript - 在 if/else 语句中引用函数参数?

PHP,如果 session 开始重定向到不同的页面

php mysql错误初学者

javascript - 按降序和升序对数组进行排序

c - 将无符号字符数组作为参数传递 - 数组未正确传递