从php中的数组中获取键和值

cha*_*lie -6 php

使用这个数组数据:

$tokens = array (
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second'
        );
Run Code Online (Sandbox Code Playgroud)

我希望能够获得关键和价值,我试过

$tokens["day"];
Run Code Online (Sandbox Code Playgroud)

但它没有返回任何东西.

我如何获得每个项目但不在循环内?(例如foreach)

Ben*_*Ben 6

这是因为day价值,而不是重点.

$tokens["86400"]等于day.

你需要重新排列你的阵列'day' => 86400,而不是相反!

一个简单的方法是使用array_flip.


Ste*_*eve 5

如果您想通过已知值访问密钥,那么您可以简单地使用以下命令翻转数组array_flip

$flipped = array_flip($tokens);

echo $flipped['day']; //86400
Run Code Online (Sandbox Code Playgroud)

或者,如果您有权访问执行此操作的代码,则首先以正确的方式创建数组:

$tokens = array (
    'year'   => 31536000,
    'month'  => 2592000,
    'week'   => 604800,
    'day'    => 86400,
    'hour'   => 3600,
    'minute' => 60,
    'second' => 1
    );
Run Code Online (Sandbox Code Playgroud)