-3

假设我想检查一个变量是否为空,然后做一些事情......我可以这样做:

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

但我想为一堆项目这样做。所以我在想一个数组和一个循环,所以是这样的:

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

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

这是否是一种合理的方法,我可以在其中检查 $phone、$address、$city 等是否为空,并在其为空时为其分配“未提供”字符串?

如果是这样,有人可以帮助我了解该循环内的语法吗?

4

5 回答 5

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>";
于 2013-05-09T17:26:38.920 回答
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 
}

?>

自己检查上面的代码。那么只有你才能理解它是如何工作的。因为它是令人困惑的概念。

于 2013-05-09T17:31:35.943 回答
0

我会说类似 -

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

foreach ($optionalFieldsArray as $key => $value) {
        if ( empty($optionalFieldsArray[$key]) ) { 
             $optionalFieldsArray[$key] = 'Not Provided'; 
        }
}
于 2013-05-09T17:28:11.800 回答
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>";
    }
}
于 2013-05-09T17:31:08.317 回答
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 )
于 2013-05-09T17:39:35.217 回答