Pregunta

Quiero crear una matriz con un mensaje.

$myArray = array('my message');

Pero el uso de este código, myArray se sobrescribirá si ya existía.

Si utilizo array_push, tiene que ya existe.

$myArray = array(); // <-- has to be declared first.
array_push($myArray, 'my message');

De lo contrario, Bink.

¿Hay una manera de hacer el segundo ejemplo anterior trabajo, sin antes solucionar $myArray = array();?

¿Fue útil?

Solución

Comprobar si existe la matriz primero, y si no es así, crear ... entonces añadir el elemento, sabiendo que la matriz seguramente será definido de antemano:

if (!isset($myArray)) {
    $myArray = array();
}

array_push($myArray, 'my message');

Otros consejos

A continuación:

$myArray[] = 'my message';

$ miMatriz tiene que ser una matriz o no establecido. Si se mantiene un valor que es una cadena, entero o un objeto que no implementa ArrayAccess, se producirá un error.

Debe utilizar is_array (), no Isset. Muy útil si myArray se está fijando de una función que devuelve una matriz o una cadena (-1 en caso de error, por ejemplo)

Esto evitará errores si miMatriz se declara como una matriz no en otro lugar.

if(is_array($myArray))
{
   array_push($myArray,'my message');
}
else
{
   $myArray = array("my message");
}
if ($myArray) {
  array_push($myArray, 'my message');
}
else {
  $myArray = array('my message');
}

manera OIS' va a funcionar.

o

if (!isset($myArray)) 
    $myArray=array();
array_push($myArray, 'message');
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top