2017-02-28 22 views
-10

我有一個數組,取得列的值與一些ID

array 
(
    [0] => array 
    (
     [id]  => 2 
     [title] => Test 
     [alt_text] => 'This is test', 

    ) 

    [1] => array 
    (
     [id]  => 3 
     [title] => Test1 
     [alt_text] => 'This is test1', 

    ) 

    [2] => array 
    (
     [id]  => 7 
     [title] => Test2 
     [alt_text] => "This is test2", 

    ), 

) 

我想標題動態ID的價值。

例如,如果我通過2,那麼它應該返回標題的值作爲測試

我可以做到這一點與foreach循環沒有問題。但是,是否有任何核心功能來實現這個核心功能或一個班輪代碼片段的組合呢?

+2

沒有內置的方式做到這一點,但foreach循環應該是相當簡單明瞭,你可以換它自己在一個函數中。 –

+0

你的意思是你想加快抓取? –

+0

你不能使用'id'作爲關鍵字的關聯數組嗎?這樣,查找就像'$ array [$ id] ['title']'一樣簡單。你的'身份證'是獨一無二的嗎? – domsson

回答

0

這是我最終使用的解決方案:

echo $arr[array_search(7, array_column($arr, 'id'))]['title']; 
+0

你還沒有回答我的問題,你的ID是否是唯一的。如果是這樣,你可以簡化整個查找(請參閱我的答案)。 – domsson

+0

它只是,考慮一組將會是獨一無二的類別,我也沒有提到。所以,如果你已經考慮過我發佈什麼輸入數組的情況。你可能會得到我的關注 – rahulsm

0

使用循環,你可以這樣做:

function getTitle($arr,$key){//$arr is your array 
    foreach($arr as $keys=>$values){ 
     if($values['id'] == $key){ 
      return $values['title']; 
     } 
    } 
    return null; 
} 

echo getTitle($arr,2); 
+0

我知道這一點,我可以解決方法 – rahulsm

+0

@rahul_m在這種情況下,你應該看到這個:http://stackoverflow.com/questions/1019076/how-to-search-by-key-value-in-a-multidimensional-array -in-PHP。我不認爲有任何直接的功能來完成這件事。 –

+2

或構建您的數據像@domdom回答這將變得非常容易。 –

0

此功能會有所幫助。

public function getValue($array, $id) 
{ 
    foreach ($array as $value) { 
     if($value['id'] == $id) { 

      return $value['title']; 
     } 
    } 

    return null; 
} 
0

希望該功能將幫助

public function getTitle($array, $id) { 
    foreach ($array as $value) { 
     if($value['id'] == $id) { 
      return $value['title']; 
     } 
    } 
    return null; 
} 
1

假設你id s爲唯一,你可以簡單地使用,而不是一個關聯數組(!):

$yourArrray = array(
    2 => array('title' => 'Test', 'alt_text' => 'This is test'), 
    3 => array('title' => 'Test1', 'alt_text' => 'This is test1'), 
    7 => array('title' => 'Test2', 'alt_text' => 'This is test2') 
); 

這樣,您的查找將如下所示:

$yourArray[$id]['title'] 

例如:

$title = $yourArray[2]['title'] // $title Now contains "Test" 
相關問題