私がしようとしているのは$names
の値がの値が空の場合は、$names
の配列の値がデフォルトの値になります。$urls
の値です。 (これは空の$_POST[]
が空を返すという前提に基づいています。私が間違っていると誰かが私を修正してください)。単一の配列値を変更する簡単な方法はありますか?
は、ここに私のコードです:
$urls = array(1 => $_POST['url_1'], 2 => ['url_2'], 3 => $_POST['url_3'], 4 => $_POST['url_4'], 5 => $_POST['url_5']);
$names = array(1 => $_POST['name_1'], 2 => ['name_2'], 3 => $_POST['name_3'], 4 => $_POST['name_4'], 5 => $_POST['name_5']);
if(empty($names[1])) { $names[1] = $_POST['url_1']; }
if(empty($names[2])) { $names[2] = $_POST['url_2']; }
if(empty($names[3])) { $names[3] = $_POST['url_3']; }
if(empty($names[4])) { $names[4] = $_POST['url_4']; }
if(empty($names[5])) { $names[5] = $_POST['url_5']; }
私はforeach()
ループを使用して考えたが、私は本当に、個々の配列値などとして、それがどのように動作するか表示されません$names[1]
は、空の場合$urls[1]
に設定する必要があります。
アドバイス、コメント、またはその他の情報は非常に感謝される:)!
ありがとうございました:)。 '!empty($ _ POST ['name_'。$ i])? $ _POST ['name_'。 $ i]:$ _POST ['url_'。 $ i]; 'それは自分自身の中でif()'のように振る舞います。もしそうなら、「それは何ですか? – Avicinnian
これは[三項演算子](http://www.php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary)と呼ばれています。 $ name [$ i] = $ _POST ['name_'。$ i];そうでなければ$ names [$ i] = $ _POST [ '$ url' '$ i]; ' –
これで、空の場合と空でない場合の両方の配列値を定義するので、' $ names = array() 'を削除する必要があります。 :)、私は100%理解していることを確認したいだけです。 – Avicinnian