在 PHP 中列印陣列鍵

Habdul Hazeez 2023年1月30日 2022年5月13日
  1. 在 PHP 中使用 foreacharray_keys 列印陣列鍵
  2. 在 PHP 中使用 foreach 鍵值對列印陣列鍵
  3. 通過 PHP 中的搜尋值列印陣列鍵
  4. 通過 PHP 中的嚴格值搜尋列印陣列鍵
在 PHP 中列印陣列鍵

本教程將教你不同的方法,你可以使用這些方法列印陣列的鍵。這些方法將使用 PHP foreacharray_keys,一個內建的 PHP 函式。

在 PHP 中使用 foreacharray_keys 列印陣列鍵

在這種方法中,我們使用 foreach 遍歷陣列。在迴圈期間,我們在陣列上呼叫 array_keys,它將從陣列中提取鍵。

我們可以將鍵傳遞給 foreach 迴圈中的變數。之後,我們使用 foreacharray_keys 提取鍵。

<?php
    $history_makers = array(
        'Father USA' 		=> 'Benjamin Franklin',
        'Electromagnetism' 	=> 'Michael Faraday',
        'Enlightenment' 	=> 'Issac Newton',
        'Tesla Coil' 		=> 'Nikola Tesla',
        'Polonium' 			=> 'Marie Curie'
    );

    // Use array_keys to return all the keys
    // in the array
    foreach (array_keys($history_makers) as $key) {
        echo $key . "<br />";
    }
?>

輸出:

Father USA <br />
Electromagnetism <br />
Enlightenment <br />
Tesla Coil <br />
Polonium <br />

在 PHP 中使用 foreach 鍵值對列印陣列鍵

帶有鍵值的 foreach 迴圈允許你將陣列中的鍵對映到它的值。你可以在此過程中提取和列印陣列鍵。

我們通過程式碼中 foreach 迴圈中的 $key 變數列印陣列鍵。

<?php
    $history_makers = array(
        'Father USA' 		=> 'Benjamin Franklin',
        'Electromagnetism' 	=> 'Michael Faraday',
        'Enlightenment' 	=> 'Issac Newton',
        'Tesla Coil' 		=> 'Nikola Tesla',
        'Polonium' 			=> 'Marie Curie'
    );

    // Use key-value mapping to return the keys
    // in the array
    foreach ($history_makers as $key => $value) {
        echo $key . "<br />";
    }
?>

輸出:

Father USA <br />
Electromagnetism <br />
Enlightenment <br />
Tesla Coil <br />
Polonium <br />

通過 PHP 中的搜尋值列印陣列鍵

你可以將字串值作為第二個引數傳遞給 array_keys 函式。當你這樣做時,array_keys 認為這個值是一根針。

結果,它將在陣列中搜尋具有此值的每個鍵。它將返回與條件匹配的所有鍵的列表。

<?php
    $history_makers = array(
        'Father USA' 		=> 'Benjamin Franklin',
        'Electromagnetism' 	=> 'Michael Faraday',
        'Enlightenment' 	=> 'Issac Newton',
        'Tesla Coil' 		=> 'Nikola Tesla',
        'Polonium' 			=> 'Marie Curie'
    );

    /**
     * A string second parameter tells array_keys
     * to return arrays containing the parameter
     */
    $needle = array_keys($history_makers, 'Marie Curie');

    echo "<pre>";
    var_dump($needle);
    echo "</pre>";
?>

輸出:

array(1) {
  [0]=>
  string(8) "Polonium"
}

我們在上面的程式碼示例中搜尋 Marie Curie 值。結果是一個具有匹配鍵的陣列。

通過 PHP 中的嚴格值搜尋列印陣列鍵

這種方法建立在通過搜尋值返回陣列鍵的基礎上,但在這種情況下我們將執行嚴格搜尋。這種嚴格的搜尋意味著我們傳遞給 array_keys 函式的任何值都必須與陣列中的一個值相匹配。

在此方法中,你需要將第三個引數(一個布林值)傳遞給 array_keys。當你將此布林值設定為 true 時,Array_keys 執行嚴格比較。

<?php
    $history_makers = array(
        'Father USA' 	=> 'Benjamin Franklin',
        'Electromagnetism' 	=> 'Michael Faraday',
        'Enlightenment' => 'Issac Newton',
        'Tesla Coil' 	=> 'Nikola Tesla',
        'Polonium' 		=> 'Marie Curie'
    );

    /**
     * Here, we use array_keys with a third
     * parameter. The third parameter is a
     * Boolean value that array_key uses for
     * strict comparisons. If set to true,
     * the search value must match a value
     * in the array case-for-case.
     */
    $needle_strict = array_keys($history_makers, 'marie curie', true);

    if ($needle_strict) {
        // This code block will not print anything because
        // in strict comparisons "marie curie" is not
        // equal to "Marie Curie"
        echo "<pre>";
        var_dump($needle_strict);
        echo "</pre>";
    } else {
        echo "You have strict search enabled for
        <code>array_keys</code>.<br/>
        Change your search needle and try again.";
    }
?>

輸出:

You have strict search enabled for <code>array_keys</code>. <br/>
Change your search needle and try again.
Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

相關文章 - PHP Array