2017-06-29 64 views
-1

於是,我來到了一個點,我需要檢查一個數組內的值:得到associatve數組的數字索引而不指定鍵名

Array [ 
    'oneName' => [ 
     'val' => 'str', 
     'price' => 'int' 
    ], 
    'twoName' => [ 
     'val' => 'str', 
     'price' => 'int' 
    ] 
] 

然而,這些oneNametwoName鍵名被動態地從創建另一個腳本。我需要在if語句中檢查twoName['price'](例如)的值是否正確。我在類似的主題中遇到了這個SO帖子:php - get numeric index of associative array但是這是通過指定鍵名並根據它返回索引值來完成的。如何通過數字索引訪問twoName而不指定鍵名稱?還是我問不可能?

+2

您可以訪問它通過數值之前使用'array_values($ your_arr)'.. –

+0

@FrayneKonok將這項工作對於多維數組太? :) – ThisGuyHasTwoThumbs

+0

對於你的數組,這將工作和輸出將如下所示:'Array([0] => Array([val] => str [price] => int)[1] => Array([val] => str [price] => int))' –

回答

1

要獲取關聯數組的數字索引而不指定鍵名稱,您需要使用array_values()函數。

例子:

$arr = [ 
    'oneName' => [ 
     'val' => 'str', 
     'price' => 'int' 
    ], 
    'twoName' => [ 
     'val' => 'str', 
     'price' => 'int' 
    ] 
]; 

$arr = array_values($arr); 
print_r($arr); 

輸出:

Array 
(
    [0] => Array 
     (
      [val] => str 
      [price] => int 
     ) 

    [1] => Array 
     (
      [val] => str 
      [price] => int 
     ) 

) 
+0

謝謝,當計時器關閉時會接受:) – ThisGuyHasTwoThumbs