在 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