簡體   English   中英

PHP:如何從關聯數組中獲取鍵和值?

[英]PHP: How to get both key and value from an associative array?

我有這種關聯數組結構:

$multiArray = array(
                 'key1' => array(1, 2, 3, 4),                
                 'key2' => array(5, 6, 7, 8),
                 'key3' => array(9, 10, 11, 12)
              );

當我調用$ multiArray ['key1']時,我得到了值(這是正常的):

// Example 1
$multiArray['key1'];
//$multiArray only has [1, 2, 3, 4]

有沒有辦法當我打電話時我想要$ multiArray ['key1']我可以['key1' => array(1,2,3,4)]或其他兩個鍵,具體取決於具體情況?

我可以像這樣構造$ multiArray,但我想知道是否有更好的方法。

// Example 2
$multiArray = array(
                 'keyA' => array('key1' => array(1, 2, 3, 4)),  
                 'keyB' => array('key2' => array(5, 6, 7, 8)),
                 'keyC' => array('key3' => array(9, 10, 11, 12))
              );
$multiArray['keyA'];
// $multiArray is now what I want: ['key1' => [1, 2, 3, 4]]

我認為你可能正在尋找的是foreach

$myArray = array('key1' => array(1, 2, 3), 'key2' => array(4, 5, 6));
$multiArray = array();
foreach ($myArray as $key => $value) {
    // $key would be key1 or key2
    // $value would be array(1, 2, 3) or array(4, 5, 6)
    $multiArray[] = array($key => $value);
}

你可以這樣做:

function getArray ($multiArray, $key) {
    return array($key => $multiArray[$key]);
}

要么

$result = array('key1' => $multiArray['key1']);

關於你如何使用它的更多背景將是有用的。 聽起來你已經知道了使用點的請求密鑰。 如果不是,您可能需要使用array_keys

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM