¿Cómo convertir la matriz en una cadena utilizando métodos distintos a JSON?
-
25-10-2019 - |
Pregunta
¿Cuál es una función en PHP utilizada para convertir la matriz en cadena, aparte de usar JSON?
Sé que hay una función que directamente le gusta JSON. Simplemente no lo recuerdo.
Solución
serialize()
es la función que estás buscando. Devolverá una representación de cadena de su matriz u objeto de entrada en un formato interno específico de PHP. La cadena puede convertirse nuevamente en su forma original con unserialize()
.
Pero tenga cuidado, que no todos los objetos son serializables, o algunos pueden ser solo parcialmente serializables e incapaces de ser completamente restaurados con unserialize()
.
$array = array(1,2,3,'foo');
echo serialize($array);
// Prints
a:4:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;s:3:"foo";}
Otros consejos
Utilizar el implode()
función:
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
Salida legible!
echo json_encode($array); //outputs---> "name1":"value1", "name2":"value2", ...
O
echo print_r($array, true);
Estás buscando publicar por fascículos(). Aquí hay un ejemplo:
$array = array('foo', 'bar');
//Array to String
$string = serialize($array);
//String to array
$array = unserialize($string);
Otra buena alternativa es http_build_query
$data = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
echo http_build_query($data) . "\n";
echo http_build_query($data, '', '&');
Imprimirá
foo=bar&baz=boom&cow=milk&php=hypertext+processor
foo=bar&baz=boom&cow=milk&php=hypertext+processor
Más información aquí http://php.net/manual/en/function.http-build-Query.php
Usar PHP implode()
o serialize()
Matray de exhibición de una manera hermosa:
function arrayDisplay($input)
{
return implode(
', ',
array_map(
function ($v, $k) {
return sprintf("%s => '%s'", $k, $v);
},
$input,
array_keys($input)
)
);
}
$arr = array('foo'=>'bar',
'baz'=>'boom',
'cow'=>'milk',
'php'=>'hypertext processor');
echo arrayDisplay($arr);
Pantallas:
foo => 'bar', baz => 'boom', cow => 'milk', php => 'hypertext processor'
Hay diferentes formas de hacer esto que algunos han dado.implode(), join(), var_export(), print_r(), serialize(), json_encode()
exc ... también puedes escribir tu propia función sin estos:
A For()
El bucle es muy útil. Puede agregar el valor de su matriz a otra variable como esta:
<?php
$dizi=array('mother','father','child'); //This is array
$sayi=count($dizi);
for ($i=0; $i<$sayi; $i++) {
$dizin.=("'$dizi[$i]',"); //Now it is string...
}
echo substr($dizin,0,-1); //Write it like string :D
?>
En este código agregamos los valores de $ Dizi y la coma a $ Dizin:
$dizin.=("'$dizi[$i]',");
Ahora
$dizin = 'mother', 'father', 'child',
Es una cadena, pero tiene una coma extra :)
Y luego eliminamos la última coma, substr($dizin, 0, -1);
Producción:
'madre', 'padre', 'niño'