2013-05-09 66 views
-3

比方说,我想检查,看是否有变量是空的,然后做一些PHP援助......我可以这样做:空()在一个循环中

if (empty($phone)) { $phone = 'Not Provided'; } 

但我想这样做一堆物品。所以我想这样的数组和一个循环,所以东西:

$optionalFieldsArray = array($phone, $address, $city, $state, $zip); 

foreach ($optionalFieldsArray as $value) { 
     //what goes here???? 
    } 

这是一个的foreach合理的方式做到这一点,在那里我可以检查是否$电话,地址$,$城市等都是清空并分配“未提供”字符串,当它是?

如果是这样,有人可以帮助我使用循环内部的语法吗?

+0

为什么downvote? – 2013-05-09 17:29:41

+0

这很容易googleable – 2013-05-09 17:40:51

+0

是啊,好吧,我没有找到合适的答案。我想你比我好。 – 2013-05-09 17:47:56

回答

3

,你可以这样做此:

<?php 

$required_vars = array('phone', 'address', 'city', 'state', 'zip'); 
foreach($required_vars as $required_var) { 
    if(empty($$required_var)) 
     $$required_var = 'Not Provided'; // $$var -> variable with name = value of $var 
} 

?> 

检查上面的代码自己。那么只有你可以理解它是如何工作的。因为这是混淆概念。

+1

为什么变量变量? – 2013-05-09 17:36:00

+0

他想检查给定数组中列出的某些变量。所以我们遍历数组并检查名为current-array-element-value的变量 – 2013-05-09 17:43:14

+0

,应该自己检查它(如果不知道)。那么只有他能理解它是如何工作的。因为它很混乱。 – 2013-05-09 17:45:19

3
$optionalFieldsArray = array('phone'=>$phone, 'address'=>$address, 'city'=>$city, 'state'=>$state, 'zip'=>$zip); 

foreach ($optionalFieldsArray as $key => $value) { 
    if (empty($value)) { $optionalFieldsArray[$key] = 'Not Provided'; } 
} 

echo "<pre>"; 
print_r($optionalFieldsArray); 
echo "</pre>"; 
0

我会这样说 -

$optionalFieldsArray = array($phone, $address, $city, $state, $zip); 

foreach ($optionalFieldsArray as $key => $value) { 
     if (empty($optionalFieldsArray[$key])) { 
      $optionalFieldsArray[$key] = 'Not Provided'; 
     } 
} 
0

结合您提供的两个代码示例,并使用字符串作为可选的阵列中的键:

$optional = array(
    'phone' => $phone, 
    'address' => $address, 
    'city' => $city, 
    'state' => $state, 
    'zip'  => $zip, 
); 
foreach ($optional as $type => $value) { 
    if ($value == null) { 
     echo "The {$type} field is empty!<br>"; 
    } 
} 
0
$optionalFieldsArray = array($phone, $address, $city, $state, $zip); 

foreach($optionalFieldsArray as $k => $v) { 
    // you could check for !empty here if you wanted too 
    $optionalFieldsArray[$k] = empty($v) ? 'Not Provided' : $v; 
} 

print_r($optionalFieldsArray); 

Input Vars: 
$phone = "1234567899"; 
$address = ""; 
$city = ""; 
$state = ""; 
$zip = ""; 
Output: 
Array ([0] => 1234567899 [1] => Not Provided [2] => Not Provided [3] => Not Provided [4] => Not Provided)