0

我有五个用于加载图像的自定义字段,但它们都不是必需的。我的意思是用户可以上传从 1 到 5 的随机数量的图像。我在这里遇到了一个简单的概念缺乏。我应该如何检查它们中的任何一个是否为空并丢弃。更具体地说,我想丢弃不存在的字段并仅将上传的字段存储在数组中。这是我的代码

$custom_fields = get_post_custom($id);

$my_custom_field1 = $custom_fields['image1'];
$my_custom_field2 = $custom_fields['image2']; 
$my_custom_field3 = $custom_fields['image3'];
$my_custom_field4 = $custom_fields['image4'];
$my_custom_field5 = $custom_fields['image5'];

if(!(false===($my_custom_field1))) { $img[]=$my_custom_field1;}
if(!(false===($my_custom_field2))) { $img[]=$my_custom_field2;}
if(!(false===($my_custom_field3))) { $img[]=$my_custom_field3;}
if(!(false===($my_custom_field4))) { $img[]=$my_custom_field4;}
if(!(false===($my_custom_field5))) { $img[]=$my_custom_field5;}
4

3 回答 3

1
$images = Array("image1","image2","image3","image4","image5");
foreach($images as $image){
    if(isset($custom_fields[$image])){
    $img[] = $custom_fields[$image];
    }
}

没有测试过,但应该可以。

于 2013-10-28T21:19:14.353 回答
0
if(isset($my_custom_field5)){
  // do something with $my_custom_field5
}
于 2013-10-28T21:00:57.440 回答
0

我建议使用

if ( !empty($my_custom_field)){ 
    \\Do Something 
} 

因为 isset 只检查是否设置了变量,而不是 null 其中 as empty 检查变量是否为空字符串、false、array()、NULL、“0?”、0 和未设置的变量。

于 2013-10-29T00:11:08.547 回答