¿Cuál es la abreviatura de la notación de matriz en PHP?
Traté de usar (no funciona):
$list = {};
Será perfecto, si proporciona enlaces sobre alguna información sobre otros métodos abreviados para PHP.
¿Cuál es la abreviatura de la notación de matriz en PHP?
Traté de usar (no funciona):
$list = {};
Será perfecto, si proporciona enlaces sobre alguna información sobre otros métodos abreviados para PHP.
Respuestas:
Actualización: a
partir de PHP 5.4.0 se ha introducido una sintaxis abreviada para declarar matrices:
$list = [];
Respuesta anterior:
No lo hay. Solo $list = array();
Pero puedes comenzar a agregar elementos.
<?php
$list[] = 1;
$list['myKey'] = 2;
$list[42] = 3;
Está perfectamente bien en lo que respecta a PHP. Ni siquiera obtendrá un E_NOTICE para variables indefinidas .
El error de nivel E_NOTICE se emite en caso de trabajar con variables no inicializadas, pero no en el caso de agregar elementos a la matriz no inicializada.
En cuanto a los métodos abreviados, hay muchos esparcidos por todas partes. Si desea encontrarlos, simplemente lea el manual .
Algunos ejemplos, solo para su diversión:
$arr[]
taquigrafía para array_push
.foreach
constructoecho $string1, $string2, $string3;
+
elseif
$name = 'Jack'; echo "Hello $name";
$results[] = $row;
significaba.
$var = [];
se introdujo con PHP7. ¡No tenía idea de que se remontaba a 5.4!
SI, existe !!
Extraído de otra pregunta de Stack Overflow:
La sintaxis abreviada para matrices se ha vuelto a discutir, se ha aceptado y ahora está en camino de ser lanzada con PHP 5.4
Uso:
$list = [];
Referencia: PHP 5.4 Mano corta para matrices
=>
lugar de :
entre claves y valores.
También es posible definir contenido dentro de [] así:
$array = ['vaue1', 'value2', 'key3'=>['value3', 'value4']];
Esto solo funcionará en php5.4 y superior.
No hay ninguno a partir de PHP 5.3.
La única forma de definir una matriz en php es mediante la array()
construcción del lenguaje. PHP no tiene una abreviatura para los literales de matriz como lo hacen otros lenguajes.
Puede declarar su matriz de la siguiente manera:
$myArray1 = array(num1, num2, num3);
$myArray2 = array('string1', 'string2', 'string3');
$myArray3 = array( 'stringkey1'=>'stringvalue1', 'stringkey2'=>'stringvalue2');
$myArray4 = array( 'stringkey1'=>numValue1, 'stringkey2'=>numValue2);
$myArray5 = array( numkey1=>'stringvalue1', numkey2=>'stringvalue2');
$myArray6 = array( numkey1=>numValue1, numkey2=>numValue2);
Puede tener tantas matrices integradas como necesite.
Simplemente exploto cadenas en una matriz como esta:
$array = explode(",","0,1,2,3,4,5,6,7,8,9,10");