array_walk和匿名函数

时间:2013-06-02 17:22:32

标签: php arrays anonymous-function

我正在尝试使用ucfirst和匿名函数将array_walk应用于数组中的单词。我想更改“原始”数组$fruits的值。由于我不能使用传递参考,你能推荐我做什么呢?

<?php

$fruits = array('apple', 'orange', 'banana', 'cherry');

array_walk($fruits, function($a) {
        $fruits = ucfirst($a);
});

var_dump($fruits);

//results

array(4) {
  [0] =>
  string(5) "apple"
  [1] =>
  string(6) "orange"
  [2] =>
  string(6) "banana"
  [3] =>
  string(6) "cherry"
}

4 个答案:

答案 0 :(得分:5)

在这种情况下,

array_map是一个更好的功能。

$fruits = array_map('ucfirst', $fruits);

答案 1 :(得分:3)

array_walk(
    $fruits, 
    function(&$a) {
        $a = ucfirst($a);
    }
);

答案 2 :(得分:0)

您可以使用foreach循环:

$fruits = array('apple', 'orange', 'banana', 'cherry');

foreach($fruits as $key => $value)
{
    $fruits[$key] = ucfirst($value);
}

答案 3 :(得分:0)

$allUpperCase = array_map(function($fruit){
    return ucfirst($fruit);
}, $fruits);