我有一个变量数组,可以获取我的函数检索到的所有内容。
$array = $funcs->searchCompany($bizName);
然后我使用foreach检查varchar的值是否为null,int的值是0,然后我将其值替换为"未提供"这样每次调用时都会说“未提供”#34;
foreach ($array as $var) {
if($var == " " || $var == 0) {
$var = "Not Provided";
}
}
$name = $var['name'];
$url = $var['url'];
$tagline = $var['tagline'];
$descrip = $var['descrip'];
$bemail = $var['bemail'];
$address = $var['address'];
$city = $var['city'];
但似乎错了,因为它会破坏输出。
答案 0 :(得分:1)
我会尝试这样的事情。我不能写评论,所以我写它作为答案。
我从您的代码中理解的是您的数组具有键值关系。这很可能是因为它不适用于您的单维数组迭代。 试试这个。
foreach ($array as $var => $value) {
if($value == " " || $value == 0 || $value == null) {
$array[$var] = "Not Provided";
}
}
echo "<pre>";
print_r($array);
echo "</pre>";
试一试。
答案 1 :(得分:1)
更新您的功能,如
foreach ($array as &$var) {
if($var == " " || $var == 0) {
$var = "Not Provided";
}
}
$name = $array['name'];
$url = $array['url'];
$tagline = $array['tagline'];
$descrip = $array['descrip'];
$bemail = $array['bemail'];
$address = $array['address'];
$city = $array['city'];
答案 2 :(得分:1)
你可以在这里使用&
传递数组的值来改变foreach内部,而不必担心当前数组键是哪一个,有时也称为通过引用传递变量的值。
使用 foreach
foreach ($array as &$value) // note the &
{
if(empty($value)) $value = 'Not Provided';
// other values remain untouched
}
使用 array_map()
$array = array_map(function($value){
if(empty($value))
return 'Not Provided';
return $value;
}, $array);
但我会建议和foreach一起去。