-3

変数が空かどうかを確認してから何かをしたいとしましょう...私はこれを行うことができます:

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

しかし、私はたくさんのアイテムに対してそれをしたいです。だから私は配列とループを考えているので、次のようなものです:

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

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

これは、$phone、$address、$city などが空であるかどうかを確認し、空である場合は "Not Provided" 文字列を割り当てることができる、妥当な方法ですか?

もしそうなら、誰かがそのループ内に入る構文を手伝ってくれますか?

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

提供された 2 つのコード例を組み合わせて、文字列をオプションの配列のキーとして使用します。

$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 $key => $value) {
        if ( empty($optionalFieldsArray[$key]) ) { 
             $optionalFieldsArray[$key] = 'Not Provided'; 
        }
}
于 2013-05-09T17:28:11.800 に答える
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 に答える