PHP - 仅将带有“0”的值更改为字符串 'Free'
PHP - Change only value with '0' to string 'Free'
我只是简化了我拥有的 JSON 数据,因为我只需要其中的两个值。正如您在下面的代码中看到的那样,我过滤了我需要的内容,但在某些值中为 0 并且在输出时只有零需要作为新值 'Free'.
这是我现在得到的代码:
$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);
我得到的结果是:
Array ( [333567] => 333567 £0 [333568] => 333568 £75 [333569] => 333569 £75 )
但我只需要输出 £0 是 免费 像这样:
Array ( [333567] => 333567 Free [333568] => 333568 £75 [333569] => 333569 £75 )
如果我对问题的理解正确,你会想要替换
$newArray[$value['Number']]= $value['Number']." "."£".$value['Cost'] / 100;
和
$priceLabel = ($value['Number'] == 0 ? 'Free' : $value['Number'] . " £");
$newArray[( $value['Number'] )] = $priceLabel . ($value['Cost'] / 100);
你可以试试 $value['Cost'] / 100 > 0 ? $值['Cost'] : 'free'
您的代码如下
$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 > 0 ? $value['Cost'] : 'free');
}
echo '<br>';
echo '<br>';
print_r($newArray);
$newArray[$value['Number']]= $value['Number']." ".($value['Cost'] / 100 == 0 ? 'Free': "£".$value['Cost'] / 100);
希望能解决你的问题
我只是简化了我拥有的 JSON 数据,因为我只需要其中的两个值。正如您在下面的代码中看到的那样,我过滤了我需要的内容,但在某些值中为 0 并且在输出时只有零需要作为新值 'Free'.
这是我现在得到的代码:
$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);
我得到的结果是:
Array ( [333567] => 333567 £0 [333568] => 333568 £75 [333569] => 333569 £75 )
但我只需要输出 £0 是 免费 像这样:
Array ( [333567] => 333567 Free [333568] => 333568 £75 [333569] => 333569 £75 )
如果我对问题的理解正确,你会想要替换
$newArray[$value['Number']]= $value['Number']." "."£".$value['Cost'] / 100;
和
$priceLabel = ($value['Number'] == 0 ? 'Free' : $value['Number'] . " £");
$newArray[( $value['Number'] )] = $priceLabel . ($value['Cost'] / 100);
你可以试试 $value['Cost'] / 100 > 0 ? $值['Cost'] : 'free' 您的代码如下
$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 > 0 ? $value['Cost'] : 'free');
}
echo '<br>';
echo '<br>';
print_r($newArray);
$newArray[$value['Number']]= $value['Number']." ".($value['Cost'] / 100 == 0 ? 'Free': "£".$value['Cost'] / 100);
希望能解决你的问题