close

標題:

php 取二維陣列的key值

發問:

我在設定了一個二維陣列 並定義了 $a[1][0]的key為123,value=1 我試著使用key($a[1][0])會發生錯誤 我也試著使用array_keys($a[1][0])也會發生錯誤 但我並不想使用foreach來操作 請問有無另外的方法來解決取二維陣列key值的問題呢? 麻煩php高手指點我謝謝! 更新: $a=array( NULL, array("123"=>"1","456"=>"2"), array("234"=>"1","567"=>"2") ); 現在我打算取$a[1][0]的key值,但除了foreach之外我就找不到其他方式可以取出來 我有用自訂function+foreach可取出,但我覺得應該有更好的方法..... 更新 2: p.s:大大不好意思,因為某些因素我必需對這些陣列資料下【key】值,所以我是一定要為每個欄位取專屬的【key】,所以我是要取其【key】,而非取$a[1][0]的【Vlaue】值

最佳解答:

 

此文章來自奇摩知識+如有不便請留言告知

先取出$a[1][0]~$a[1][n]中的值放到新的陣列$b中 再利用array_keys($a[1][n], $b[n]) 如下 for($i=0;$i"2"), array("234"=>"1","567"=>"2") ); $a[0] --> 不可只給NULL 應該要這樣 $a=array( array(), array("123"=>"1","456"=>"2"), array("234"=>"1","567"=>"2") ); 2009-11-25 11:46:55 補充: 又被吃掉了... 請看~~ http://60.249.19.174/double_Array_getKeyName.php 2009-11-25 11:48:52 補充: 請看結果及程式碼... http://60.249.19.174/double_Array_getKeyName.php 2009-11-25 12:00:45 補充: 我貼的好像一直被吃掉~ 2009-11-25 12:01:46 補充: 怎麼一直無法貼上補充內容???

其他解答:

hi 你好 不知這是不是你要的?? $a[0][5]=1; $a[1][9]=2; $a[2][24]=3; print_r(array_keys($a)); 請參考php函式 http://tw.php.net/manual/en/book.array.php 2009-11-16 03:15:42 補充: $a[0][5]=7; $a[1][9]=14; $a[2][24]=99; print_r(array_keys($a)); 2009-11-16 03:18:15 補充: $a[xyz][5]=7; $a[ttu][9]=14; $a[ox][24]=99; print_r(array_keys($a)); this works too. 2009-11-16 04:14:32 補充: 在blog寫了一篇 不知符不符合你的需求 試試! 記得加上 <??>符號 我忘了加 也懶得再加上去了 http://tw.myblog.yahoo.com/jw!ALnmd.WbHgNlcvXVDzFJXH8Q 2009-11-16 04:14:40 補充: 其實個人建議 key是有順序性的較好 例如1、2、3、4 要不就a、b、c、d 這兩種都能累加 樣就只要print_r(array_keys($a[變數])); 即可 甚至是3維、4維都沒問題 假設不是順序性的都很麻煩 這也就是為什麼appserv裡的mysql欄位設了英文欄位名稱 在印出時 卻可用數字代替的關係 畢竟它能跑迴圈 若是無法用數字代替而且又是英文字母的欄位如 student、teacher 那就要打非常長 2009-11-16 04:19:49 補充: $k=0; 可以拿掉 多打了 2009-11-24 03:03:13 補充: 版大怎都沒回應???|||||>並定義了 $a[1][0]的key為123,value=1 這句很有問題,請你寫出有關句子。5C926699F268FE02

arrow
arrow
    創作者介紹
    創作者 gpjqem1 的頭像
    gpjqem1

    gpjqem1的部落格

    gpjqem1 發表在 痞客邦 留言(0) 人氣()