php中為陣列增加一個欄位的方法:1、定義一個鍵值對形式的陣列;2、直接透過「$array_test['new_test'] = $new_test;」方式增加一個欄位即可。
本文操作環境:Windows7系統、PHP7.4版、DELL G3電腦
php中怎麼為陣列增加一個字段?
PHP在陣列中新增一個欄位存放一個陣列
作為喜歡偷懶的我來說,找一個PHP自帶的函數是最省事的,但是我發現原來方法很多,但也有很多坑。先定義一個陣列和需要添加的東西給大家看看。
// 定义一个键值对形式的数组。 $array_test = array( 'a' => "aa", 'b' => "bb", ); // 再定义一个需要加进去的键值对,这个键值对也放在数组中,也就是新增一个字段'new_test'=>$new_test $new_test = array( 'c' => "cc", 'd' => "dd", );
比如說:array_push($array_test ,array('new_test' => $new_test)),他雖然也能拼接,但新增進來的鍵值對你會發現,為什麼是在原來的資料後面變成了'0'=>array(2);而不是新增一個欄位'new_test'=>$new_test。
這就是array_push()的問題所在了,而且根據網上說的:
一、即使數組中有字串鍵名,您添加的元素也始終是數字鍵。
二、如果用 array_push() 來為陣列增加一個單元,不如用 $array[] =,因為這樣沒有呼叫函數的額外負擔。
注意:不可以用array_merge(),因為這個函數是拼接兩個字串,而不是將另一個陣列以新欄位加進指定陣列中。
那我們該怎麼辦?
超簡單,簡單到我想把自己腦子拿出來看看是不是學傻了,進水了!
直接$array_test['new_test'] = $new_test;就行了,是不是超簡單,嗚嗚嗚,現在看一下這一步之後數組變成什麼樣子吧:
$array_test = array( 'a' => "aa", 'b' => "bb", 'new_test' => array( 'c' => "cc", 'd' => "dd", ) );
推薦學習:《PHP影片教學》
以上是php中怎麼會為數組增加一個字段的詳細內容。更多資訊請關注PHP中文網其他相關文章!