在 PHP 中列印陣列鍵
Habdul Hazeez
2023年1月30日
-
在 PHP 中使用
foreach
和array_keys
列印陣列鍵 -
在 PHP 中使用
foreach
鍵值對列印陣列鍵 - 通過 PHP 中的搜尋值列印陣列鍵
- 通過 PHP 中的嚴格值搜尋列印陣列鍵
本教程將教你不同的方法,你可以使用這些方法列印陣列的鍵。這些方法將使用 PHP foreach
和 array_keys
,一個內建的 PHP 函式。
在 PHP 中使用 foreach
和 array_keys
列印陣列鍵
在這種方法中,我們使用 foreach
遍歷陣列。在迴圈期間,我們在陣列上呼叫 array_keys
,它將從陣列中提取鍵。
我們可以將鍵傳遞給 foreach
迴圈中的變數。之後,我們使用 foreach
和 array_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
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