我想要做的是默認$names
陣列值,如果$_POST[]
值$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]
。
任何意見,意見或其他信息將非常感謝:)!
謝謝丹:)。空!($ _ 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)。是的,它相當於'if(!empty($ _ POST ['name_'。$ i])$ names [$ i] = $ _POST ['name_'。$ i]; else $ names [$ i] = $ _POST [ 'url_'。$ i];' –
因此,我應該去掉'$ names = array()',因爲它定義了空值和非空值的數組值?對不起我的問題:),只是想確保我理解100%。 – Avicinnian