如果我想给一个数组分配另一个数组,我需要声明它吗


Do i need to declare an array if i want to assign another array to it?

我有一个小问题。如果我想向一个数组附加另一个数组,我需要声明它吗?

我想验证多选控件中的值,并且我需要它们在一个数组中(对于粘性表单字段(。。。我不记得在php中,我是否可以将select数组分配给var,然后var将自动变为数组,或者var需要首先声明为数组。。。

我已经尝试了这两种方法,在我看来,这两种都可以。但是,对于良好的实践,我想确保。。。我需要从专家那里知道!

你觉得怎么样?

<select name="genre[]" multiple="multiple" id="genre">
   <option value="...">value goes here</option>
</select>

// genres
if (isset($_POST['genre'])) {
  $selected_genre = $_POST['genre'];
}

// genres
$selected_genre = array();
if (isset($_POST['genre'])) {
  $selected_genre = $_POST['genre'];
}

快速回答,当您将变量值设置为数组时,它就是一个数组。在safe_mode中,您会收到未定义索引的警告,在OOP(面向对象编程(中,在某些情况下会收到警告。通常,在使用之前定义variabled是更好的做法

从技术上讲,没有。但是,它稍后会更容易,所以您不需要is_array调用来验证是否分配了什么。