【问题标题】:How to find value?如何找到价值?
【发布时间】:2021-07-31 02:01:28
【问题描述】:

我用 PHP 制作了这个关联数组。

$colors = ['a' => 'red', 'b' => 'green', 'c' => 'blue', 'd' => 'yellow', 'e' => 'pink'];

现在通过使用 array_rand() 函数 =>

$newArray = array_rand($colors, 2);

输出是:[0] => a [1] => b

这个输出只显示了数组的键。但我也想看看它的价值。 如何使用 array_rand() 找到这个数组的值?

【问题讨论】:

  • 循环?............
  • 使用key访问value
  • @nice_dev 不,我只想找到像红色、绿色这样的值...使用 array_rand()
  • @RiggsFolly 我怎么写代码你能给我一个简单的例子吗?

标签: php arrays function


【解决方案1】:

使用键访问原始数组

$colors = ['a' => 'red', 'b' => 'green', 'c' => 'blue', 'd' => 'yellow', 'e' => 'pink'];
$rand_keys = array_rand($colors, 2);

foreach ($rand_keys as $key) {
    echo $colors[$key] . PHP_EOL;
}

结果

red
blue

【讨论】:

    【解决方案2】:

    使用array_filter 和回调来获取随机颜色和模式ARRAY_FILTER_USE_KEY 以按键过滤。

    $colors = ['a' => 'red', 'b' => 'green', 'c' => 'blue', 'd' => 'yellow', 'e' => 'pink'];
    $rand_keys = array_rand($colors, 2);
    
    $rand = array_filter($colors, fn($colorKey) => in_array($colorKey, $rand_keys),ARRAY_FILTER_USE_KEY);
    $rand_values = array_values($rand);
    

    结果:

    print_r($rand_keys);//Array ( [0] => b [1] => e )
    print_r($rand);//Array ( [b] => green [e] => pink )
    print_r($rand_values);//Array ( [0] => green [1] => pink )
    

    【讨论】:

      猜你喜欢
      • 2021-10-08
      • 1970-01-01
      • 2017-05-10
      • 2018-05-10
      • 2022-06-15
      • 1970-01-01
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多