数组和If语句

时间:2016-06-09 14:22:08

标签: php arrays if-statement

我有这段代码。

它的作用是通过电子邮件显示供应商名称。 问题是如果供应商名称为空,因为有些人不需要它,我会收到一个错误,将我重定向到这段代码。

有没有办法让我说如果suppliername为空,则显示为none?还是作为空白?

<?php 
    $array1supplier = get_post_meta($productId, 'fancyincarray', true);
    echo $array1supplier['supplier']; 
?>

4 个答案:

答案 0 :(得分:0)

要检查数组是否有密钥,您可以使用isset函数,如下所示:

$array1supplier = get_post_meta($productId, 'fancyincarray', true);
echo (isset($array1supplier['supplier'])) ? $array1supplier['supplier'] : '';

答案 1 :(得分:0)

使用empty()功能检查是否为空。

代码:

<?php 
    $array1supplier = get_post_meta($productId, 'fancyincarray', true);
    if(empty($array1supplier['supplier'])) {
    echo "Supplier is empty!"; 
    } else {
    echo $array1supplier['supplier']; 
    }
?>



您还可以使用isset()函数来检查它是否已设置。

代码:

<?php 
$array1supplier = get_post_meta($productId, 'fancyincarray', true);
if(isset($array1supplier['supplier'])) {
echo $array1supplier['supplier'];
} else {
echo "Supplier is empty!";
}
?>



你可以使用if($array1supplier['supplier'] == "")

代码:

<?php 
$array1supplier = get_post_meta($productId, 'fancyincarray', true);
if($array1supplier['supplier'] == "") {
echo "Supplier is empty!"; 
} else {
echo $array1supplier['supplier']; 
}
?>


所有这些都是一样的,你可以选择任何你想要的东西

答案 2 :(得分:0)

好像你期望从get_post_meta()

返回一个数组

根据WP Code Reference

  

get_post_meta(int $ post_id,string $ key ='',bool $ single = false)

     

检索帖子的帖子元字段。

     

返回:(混合)如果$ single为false,则为数组。将是价值   元数据字段,如果$ single为真。

所以最后一个参数应该是false

使用isset()确定变量是否已设置且不是NULL

试试这个:

$array1supplier = get_post_meta($productId, 'fancyincarray', false);
echo (isset($array1supplier['supplier'])) ? $array1supplier['supplier'] : "Empty";

答案 3 :(得分:-1)

<?php 
            $array1supplier = get_post_meta($productId, 'fancyincarray', true);
            echo (!empty($array1supplier['supplier']) 
              ? $array1supplier['supplier']
              : '';
?>