定義我有這樣的代碼添加到陣列如果-php
$courses = array("name_lic", "name_mes", "name_dou");
如何,如果name_lic, name_mes, name_douc
定義我可以添加到陣列?
例如:name_lic
被定義,然後是插入數組,name_mes
未定義或爲空然後未插入到數組中,name_dou
也被插入。
基本陣列只能有那些在我的例子定義
應弦:
$courses = array("name_lic");
定義我有這樣的代碼添加到陣列如果-php
$courses = array("name_lic", "name_mes", "name_dou");
如何,如果name_lic, name_mes, name_douc
定義我可以添加到陣列?
例如:name_lic
被定義,然後是插入數組,name_mes
未定義或爲空然後未插入到數組中,name_dou
也被插入。
基本陣列只能有那些在我的例子定義
應弦:
$courses = array("name_lic");
我要去猜「用戶插入」是指由於提交表單而出現在$_POST
中的值。
如果是這樣,那麼嘗試這樣的事情
$courses = array("name_lic", "name_mes", "name_dou");
// Note, changed your initial comma separated string to an actual array
$selectedCourses = array();
foreach ($courses as $course) {
if (!empty($_POST[$course])) {
$selectedCourses[] = $course;
}
}
你的意思是這樣
if (isset($name_lic)) {
$courses[] = $name_lic;
}
...等,爲name_mes, name_dou
isset
將返回TRUE
如果該值是一個空字符串,顯然你不想要。嘗試
if (!empty($_POST['name_lic'])){
$courses[] = $_POST['name_lic'];
}
// etc
例如,如果你想爲$ _ POST所有值做到這一點:
foreach ($_POST as $key => $value){
if (!empty($value)){
$courses[$key] = $value;
}
}
首先,如果你的代碼是:
$courses = array("name_lic, name_mes, name_dou");
然後$課程是一個只有一個鍵的數組,您應該刪除像這樣的「」:
$courses = array("name_lic", "name_mes", "name_dou");
現在,如果你想知道,如果數組包含值「name_lic」你應該使用功能in_array()這樣的關鍵:
if (in_array("name_lic", $courses)) {
//Do stuff
}
你所說的「定義的字符串」是什麼意思? – rid 2011-06-12 22:28:29
有一個用戶插入的值,在我的情況下,不是空的。只有具有值的字段纔會添加到數組中。 – anvd 2011-06-12 22:30:20
「由用戶插入」是指「存在於$ _POST'數組中嗎?」 – Phil 2011-06-12 22:34:27