如何解决如果定义了-php,则添加到数组
| 我有这个代码$courses = array(\"name_lic\",\"name_mes\",\"name_dou\");
如果定义了“ 1”,我如何添加到数组?
例如:然后定义了“ 2”,将其插入数组中,未定义“ 3”或为空,则未将其插入数组中,还将“ 4”插入了数组中。
基本上,数组只能包含已定义的字符串
在我的示例中应该是:
$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
, 如果值是一个空字符串,则ѭ9return将返回ѭ10,,这显然是您不想要的。尝试
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是一个只有一个键的数组,您应该像这样删除\“ \”:
$courses = array(\"name_lic\",\"name_dou\");
现在,如果您想知道数组是否包含值为\“ name_lic \”的键,则应使用如下函数in_array():
if (in_array(\"name_lic\",$courses)) {
//Do stuff
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。