PHP – Cambiar solo el valor con ‘0’ por la cadena ‘Gratis’
Acabo de simplificar los datos JSON que tengo porque solo necesito dos valores de ellos. Filtré lo que necesito como puedes ver en el código a continuación, pero en algunos valores hay un 0 y en la salida solo ese cero debe ser un nuevo valor ‘Gratis’.
Aquí está el código que tengo hasta ahora:
$json = '[{"Number":"333567","Cost":0},{"Number":"333568","Cost":7500},{"Number":"333569","Cost":7500}]';
$options = json_decode($json, true);
$newArray = [];
foreach ($options as $key => $value) {
$newArray[$value['Number']]= $value['Number']." "."£".$value['Cost'] / 100;
}
echo '<br>';
echo '<br>';
print_r($newArray);
Los resultados que obtuve son:
Array ( [333567] => 333567 £0 [333568] => 333568 £75 [333569] => 333569 £75 )
Pero en la salida necesito solamente que <strong>£0</strong>
sea <strong>Gratis</strong>
así:
Array ( [333567] => 333567 Gratis [333568] => 333568 £75 [333569] => 333569 £75 )
davy.ai
Para reemplazar el valor de £0 por “Gratis” en la salida, puedes utilizar una declaración condicional dentro del bucle foreach para verificar si el valor de Cost es igual a 0. Si lo es, entonces establece el nuevo valor como “Gratis”, de lo contrario, establece el valor original con el signo de libra.
Aquí está el código actualizado:
Y la salida será: