php - array to string conversion
¿Cómo convertir una matriz a una cadena utilizando métodos distintos a JSON? (9)
Usted está buscando serialize () . Aquí hay un ejemplo:
$array = array(''foo'', ''bar'');
//Array to String
$string = serialize($array);
//String to array
$array = unserialize($string);
¿Cuál es una función en PHP utilizada para convertir una matriz a una cadena, aparte de usar JSON?
Sé que hay una función que directamente le gusta JSON. Simplemente no recuerdo.
usa php implode()
o serialize()
<?php
$id_nums = array(1,6,12,18,24);
$id_nums = implode(", ", $id_nums);
$sqlquery = "Select name,email,phone from usertable where user_id IN ($id_nums)";
// $sqlquery becomes "Select name,email,phone from usertable where user_id IN (1,6,12,18,24)"
?>`
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, '''', ''&'');
Se 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
Use la función implode()
:
$array = array(''lastname'', ''email'', ''phone'');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
serialize()
es la función que está buscando. Devolverá una representación de cadena de su matriz u objeto de entrada en un formato interno específico de PHP. La cadena se puede convertir nuevamente a su forma original con unserialize()
.
Pero ten cuidado, no todos los objetos son serializables, o algunos pueden ser parcialmente serializables y no pueden restaurarse completamente 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";}
Muestra la matriz 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);
Muestra:
foo => ''bar'', baz => ''boom'', cow => ''milk'', php => ''hypertext processor''
salida legible!
echo json_encode($array); //outputs---> "name1":"value1", "name2":"value2", ...
O
echo print_r($array, true);
Hay diferentes maneras de hacer esto que algunos de ellos han dado. implode(), join(), var_export(), print_r(), serialize(), json_encode()
exc ... También puede escribir su propia función sin estos:
Un ciclo For()
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 adicional :)
Y luego eliminamos la última coma, substr($dizin, 0, -1);
Salida:
''madre'', ''padre'', ''niño''