Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/12/2016, 13:14
Avatar de Rodrhigo
Rodrhigo
 
Fecha de Ingreso: septiembre-2011
Ubicación: Temuco-Valdivia-Osorno
Mensajes: 254
Antigüedad: 12 años, 7 meses
Puntos: 48
De acuerdo Respuesta: De operador Ternario a operador fusión de null

Cita:
Iniciado por xerifandtomas Ver Mensaje
Cierto es que array_shift retorna el elemento quitado, y también este es un array. Puedes hacer la prueba tu mismo si quieres.

Código PHP:
Ver original
  1. <?php
  2. $stack = array("naranja", "plátano", "manzana", "frambuesa");
  3. $fruit = array_shift($stack);
  4. print_r($stack);
  5. print_r($fruit);
  6. ?>

Por lo que Rodrhigo, tiene razón en el fallo que indica, ya que strtolower solo acepta String.
Me había equivocado, el operador fue añadido en PHP 7 y array_shift efectivamente retorna el elemento quitado($mixed / lo que sea) y no un array --> var_dump($fruit);


Con respecto al problema, si estas usando PHP 7 se puede deber a que strtolower devuelve empty cuando ingresas null entonces cuando array_shift te devuelve null strtolower te lo transforma a empty y por ende al ser distinto de null, devuelve este valor.
Código PHP:
Ver original
  1. $ejemplo = strtolower(null);//devuelve empty => ""
  2. echo $ejemplo ?? 'No Imprimo este valor, porque la variable $ejemplo NO es NULL, es Empty';
__________________
Rodrigo Agüero