remove - ¿Llamando a PHP explotar y acceder al primer elemento?
strip_tags wordpress (5)
Posible duplicado:
Sintaxis de PHP para el resultado de la función de desreferenciación
Tengo una cadena, que parece 1234 # 5678 . Ahora estoy llamando a esto:
$last = explode("#", "1234#5678")[1]
No funciona, hay algún error de sintaxis ... pero ¿dónde? Lo que espero es 5678 en $last
. ¿Esto no funciona en PHP?
Aquí está cómo bajarla a una línea:
$last = current(array_slice(explode("#", "1234#5678"), indx,1));
Donde indx
es el índice que desea en la matriz, en su ejemplo era 1.
La desreferenciación de arrays no es posible en las versiones actuales de PHP (desafortunadamente). Pero puede usar list
[docs] para asignar directamente los elementos de la matriz a las variables:
list($first, $last) = explode("#", "1234#5678");
ACTUALIZAR
Desde PHP 5.4 (publicado el 1 de marzo de 2012), admite la eliminación de referencias de matrices .
Lo más probable es que PHP se confunda por la sintaxis. Simplemente asigne el resultado de explode
a una variable de matriz y luego use el índice en ella:
$arr = explode("#", "1234#5678");
$last = $arr[1];
No puedes hacer esto:
explode("#", "1234#5678")[1]
Porque explode
es una función, no una matriz. Devuelve una matriz, claro, pero en PHP no puede tratar la función como una matriz hasta que se establezca en una matriz.
Asi es como se hace:
$last = explode(''#'', ''1234#5678'');
$last = $last[1];
PHP puede ser un poco oscuro. Probablemente necesites hacer esto en dos líneas:
$a = explode("#", "1234#5678");
$last = $a[1];