к нижнему регистру в array_combine

Я вижу, что вы публикуете комментарии по-прежнему, которые предполагают, что вы сбиты с толку, потому что вы не понимаете поток кода. Возможно, это поможет вам (особенно с ответом Матиаса Р. Джессена ).

Итак, повторите эти две функции:

function sayHelloLater() {
    return 'Hello';
}

function sayGoodbyeNow() {
    echo 'Goodbye';
}

Теперь, если вы это сделаете это:

$hello = sayHelloLater();
$goodbye = sayGoodbyeNow();

echo $hello;
echo $goodbye;

На вашем экране останется «GoodbyeHello».

Вот почему. Код будет работать следующим образом:

$hello = sayHelloLater();  ---->-------->-------->------->------>--
                                                                  ¦
  ¦           ^                                                   ¦
  ¦           ¦                                           Call the function
  v           ¦                                                   ¦
  ¦           ^                                                   ¦
  ¦           ¦                                                   v
  ¦
  v         "return" simply sends back                 function sayHelloLater() {
  ¦          'Hello' to wherever the     <----<----        return 'Hello';
  ¦             function was called.                   }
  v           Nothing was printed out
  ¦          (echoed) to the screen yet.
  ¦
  v

$hello variable now has whatever value
the sayHelloLater() function returned,
so $hello = 'Hello', and is stored for
whenever you want to use it.

  ¦
  ¦
  v
  ¦
  ¦
  v

$goodbye = sayGoodbyeNow();  ---->-------->-------->------->------
                                                                 ¦
  ¦              ^                                               ¦
  ¦              ¦                                       Call the function
  v              ¦                                               ¦
  ¦              ^                                               ¦
  ¦              ¦                                               v
  ¦              ¦
  v              ¦                                    function sayGoodbyeNow() {
  ¦                                                       echo 'Goodbye';
  ¦        The function didn't return                 }
  ¦        anything, but it already
  v         printed out 'Goodbye'                                ¦
  ¦                                                              v
  ¦           ^
  ¦           ¦                                    "echo" actually prints out
  v           <-----------<-----------<---------     the word 'Goodbye' to
  ¦                                                 the page immediately at
  ¦                                                       this point.
  ¦
  v

Because the function sayGoodbyeNow() didn't
return anything, the $goodbye variable has
a value of nothing (null) as well.

  ¦
  ¦
  ¦
  v
  ¦
  ¦
  ¦
  v

echo $hello;  -------->------->   Prints 'Hello' to the screen at
                                  this point. So now your screen says
  ¦                               'GoodbyeHello' because 'Goodbye' was
  ¦                               already echoed earlier when you called
  ¦                               the sayGoodbyeNow() function.
  v

echo $goodbye;  ------>------->   This variable is null, remember? So it
                                  echoes nothing.
  ¦
  ¦
  ¦
  v

And now your code is finished and you're left with
'GoodbyeHello' on your screen, even though you echoed
$hello first, then $goodbye.

1
задан Jessy 13 July 2018 в 12:15
поделиться

2 ответа

Похоже, вы уже используете array_map, в любое время, когда вы хотите преобразовать значения в структуру, вы должны посмотреть на функцию карты.

$keys = array_map('strtolower', array_shift($csv));
2
ответ дан Devon 17 August 2018 в 12:56
поделиться

Поскольку ключи находятся в $keys, вы можете сопоставить функцию strtolower с $keys только один раз:

$keys = array_shift($csv);
$keys = array_map('strtolower', $keys);
2
ответ дан u_mulder 17 August 2018 в 12:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: