在 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