php索引陣列和關聯陣列
最近遇到個bug,記錄一下
//定義一個數組
$arr = Array('a','b','c','d');
//轉為json字串
$str1 = json_encode($arr);
//去掉一項
unset($arr[1]);
//轉json
$str2 = json_encode($arr);
var_dump($str1);
echo '<br/>';
var_dump($str2);
string(17) "["a","b","c","d"]"
string(25) "{"0":"a","2":"c","3":"d"}"
列印結果顯示,一個是陣列,一個是物件。顯然第一個是索引陣列,第二個是關聯陣列。索引陣列轉json是陣列,關聯陣列轉json是物件。
直接使用unset()刪除陣列元素,會把索引陣列轉為關聯陣列
刪除元素,保持索引的方法:
unset($arr[1]);
array_values($arr);
array_splice($array, 1, 1);
相關推薦
PHP的JSON中索引陣列和關聯陣列
索引陣列和關聯陣列 PHP支援兩種陣列,一種是隻儲存"值"(value)的索引陣列(indexed array),另一種是儲存"名值對"(name/value)的關聯陣列(associative array)。 由於javascript不支援關聯陣列,所以json_encode()只將索引陣列(
php中的索引陣列和關聯陣列
專案開發中和前端人員關於傳輸資料的格式會產生分歧。 php中的索引陣列是指以數字為鍵的陣列。並且這個鍵值 是自增的 關聯陣列指的是一個鍵值對應一個值,並且這個鍵值是不規律的,通常都是我們自己指定的。 他們兩還有不同的地方,索引陣列轉為json後是陣列。而關聯陣列轉為json後是物件。通常
php索引陣列和關聯陣列
最近遇到個bug,記錄一下//定義一個數組 $arr = Array('a','b','c','d'); //轉為json字串 $str1 = json_encode($arr); //去掉一項 unset($arr[1]); //轉json $str2 = json_
shell之陣列和關聯陣列
陣列和關聯陣列 #!/bin/bash #定義陣列1 array_var1=(1 2 3 4 5 6)# #定義陣列2 array_var[0]="test1" array_var[1]="test2" array_var[2]="test3"
Linux shell 中的陣列和關聯陣列
寫在前面的話 我用開始廢柴了,這個又是寫給我自己看的了。 普通陣列 1.陣列的定義 在Linux shell中定義一個普通的陣列很簡單,首先我們先給陣列命名(當然要符合所有的命名規則咯)。定義陣列的一般格式就是: array_name=(element1 eleme
linux shell之陣列和關聯陣列
陣列:像C語言中的陣列是同一種意思 #!/bin/bash #陣列 num_value=(1 2 3 4 5) echo ${num_value[*]} echo ${num_value[@]}
JS 索引陣列、關聯陣列和靜態陣列、動態陣列
陣列分類: 1、從陣列的下標分為索引陣列、關聯陣列 /* 索引陣列,即通常情況下所說的陣列 */ var ary1 = [1,3,5,8]; //按索引去取陣列元素,從0開始(當然某些語言實現從1開始) //索引實際上就是序數,一個整型數字 alert(ary1[0]); alert(ary1[1]);
索引陣列、關聯陣列和靜態陣列、動態陣列
陣列分類:1、從陣列的下標分為索引陣列、關聯陣列 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /* 索引陣列,即通常情況下所說的陣列 */ var ary1 = [1,3,5,8];
Oracle複合型別 ORACLE 集合 變長陣列(可變陣列 varray) 關聯陣列 聯合陣列(索引表)巢狀表 記錄型別的巢狀表
ORACLE 集合(關聯陣列,巢狀表,VARRAY) 2014年10月25日 19:27:22 vampireslove 閱讀數:835 標籤: plsql 更多 個人分類: ORACLE 三種集合比較
PHP怎樣給一個關聯陣列的頭部增加一項
$user=array( 'id'=>'5', 'name'=>'user', 'email'=>'[email protected]', 'status'=>'1'); 如果
PHP foreach遍歷關聯陣列
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=
php陣列和json陣列之間的互相轉化
$array = array( //普通陣列 "name" => "Tom", "age" => 22 ); ec
javascript陣列和java陣列的異同點
什麼是陣列呢?在java中是這麼定義的:陣列是相同型別或者是相相容型別的資料集合。 javascript的陣列也和java中的陣列差不多。但是因為javascript是弱型別語言,所以是不管什麼型別都可以放入同一個數組裡。 一:javascript裡的陣列 陣列的定義
JS中遍歷普通陣列和字典陣列的區別
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
關於javascript的陣列與二維陣列、關聯陣列
陣列: 什麼是:記憶體中連續儲存多個數據的記憶體空間 為什麼:便於批量管理和操作多個相關的資料 建立陣列: 有3種建立方法; (1)建立一個空陣列: var arr=[]; var arr=new Array(); (2)建立陣列時就初始化值:var arr=[45,
Java 學習筆記 二維陣列和物件陣列
定義二維陣列 int[][] a = new int[4][5]; 可以不指定列數 int[][] a = new int[4][]; 獲取行 int i = a.length(); 如果使用第一個例子,這裡就是返回4 獲取列 int i = a[0].length();使用第一個例子,這裡就是
面向考研——計算KMP演算法中的next陣列和nextval陣列
KMP演算法中,如何手動求next陣列和nextval陣列? 首先我們要理解next陣列的意義,為了實現更加高效的字元匹配,next陣列是用來尋找字串陣列內部的自身的一種規律,利用字串內部的一種相似性,來優化字串陣列匹配演算法。所以才需要計算這麼一個next陣列來幫助演算法
資料結構KMP演算法中課本上的next陣列和nextval陣列求解方法
next陣列的求解方法是:第一位的next值為0,第二位的next值為1,後面求解每一位的next值時,根據前一位進行比較。首先將前一位與其next值對應的內容進行比較,如果相等,則該位的next值就是前一位的next值加上1;如果不等,向前繼續尋找next值對應的內容來與前
linux shell指令碼攻略03-陣列與關聯陣列
定義陣列 ①單行中使用一列值來定義一個索引 array_var=(1 2 3 4 5 6),這些值會被儲存在以0為起始索引的連續位置上 ②還可以將陣列定義成一組“索引-值” array_var[0]=
【資料結構】KMP手工計算next陣列和nextval陣列
KMP 演算法我們有寫好的函式幫我們計算 Next 陣列的值和 Nextval 陣列的值,但是如果是考試,那就只能自己來手算這兩個陣列了,這裡分享一下我的計算方法吧。 計算字首 Next[i] 的值: 我們令 next[0] = -1 。從 next[1] 開始,每求一個