2015-03-25 63 views
0

的按鍵我有一個PHP數組,看起來像:如何訪問PHP數組的內在價值

array(3) { 
    [0] => array(3) { 
    ["Row"] => string(1) "1" 
    ["Col"] => string(1) "1" 
    ["Value"] => string(4) "lbl1" 
    } 
    [1] => array(3) { 
    ["Row"] => string(1) "2" 
    ["Col"] => string(1) "1" 
    ["Value"] => string(4) "lbl2" 
    } 
    [2] => array(3) { 
    ["Row"] => string(1) "3" 
    ["Col"] => string(1) "1" 
    ["Value"] => string(4) "lbl3" 
    } 
} 

我知道,每對「行」和「上校」是從別人不同。我無法改變我創建數組的方式。

我可以以某種方式訪問​​數組有點像這樣的哈希表:arr[Row => 0][Col => 0]並獲得在行0和列0的值?

+0

你可以設置你的代碼的格式,因爲它是在啓用'XDebug'的'var_dump()'時顯示的嗎? – D4V1D 2015-03-25 08:51:15

+0

你只是想訪問數組的單個元素? – Rizier123 2015-03-25 08:52:46

+0

@ Rizier123我想要訪問一個具有特定行和列的元素,我正在尋找。例如,如果有一個元素的行0和列0得到它,如果沒有得到null – 2015-03-25 08:55:10

回答

1

如果我理解你的問題很好,你就需要重新格式化您陣列,以訪問它,像這樣:$array[1][1]得到的lbl1Value

試試這個,其中$array是您的初始Array

<?php 

$return = array(); 
foreach($array as $value) 
    $return[$value['Row']][$value['Col']] = $value['Value'];  

var_dump($return[1][1]); // outputs "lbl1" 
+0

不完全是我的意思,但接近。如果我試圖訪問$ return [1] [1],我希望能夠達到「lbl1」,因爲您可以看到,問題中數組中的行和列的值分別爲1和1。 – 2015-03-25 09:25:35

+0

對,我看見了。正在努力。讓你知道:) – D4V1D 2015-03-25 09:26:45

+0

@YonatanNir做了一些編輯 – D4V1D 2015-03-25 09:37:03

0

不知道爲什麼你需要列和行作爲字段。你可以將主數組的鍵作爲一個嗎?如果它是一個只有col/row的二維數組,你應該能夠正確地使用鍵來創建你的數組。

$foo[1][1]="lbl1"; 

$foo[2][1]="lbl2"; 

$foo[3][1]="lbl3"; 

它只是作爲簡單的訪問,然後,$foo[1][1] returns "lbl1"

+0

我不能創建我有不同的數組。我在這裏顯示的方式與它相同。 – 2015-03-25 09:00:49

0

您可以使用array_walk來獲取值:

<?php 

$a = array(
    0 => array(
    "Row" => "1", 
    "Col" => "1", 
    "Value" => "A", 
), 
    1 => array(
    "Row" => "2", 
    "Col" => "1", 
    "Value" => "B", 
), 
    2 => array(
    "Row" => "3", 
    "Col" => "1", 
    "Value" => "C", 
) 
); 

$rowNeedle = 3; 
$colNeedle = 1; 
$result = null; 

array_walk($a, function($row, $key) use($rowNeedle, $colNeedle, &$result) { 
    if($row['Row'] == $rowNeedle && $row['Col'] == $colNeedle) $result = $row['Value']; 
}); 

echo $result; 

的代碼將返回的情況下,該數組包含相同和Col價值超過一排的最後一場比賽(雖然,如你所說,那不是你的情況)。