我有一个来自mysqli查询的JSON数组,我需要在将其传递给Datatables之前更改其中的一些值。
“已发布”:0应打印“否”,如果值为1则显示“是”。 “性”:1是女性,“性”:0是男性。
如何在此数组中执行这些字符串替换?
[{
"id": "3",
"river": "Dirdalselva",
"pool": "Sone 1",
"fish": "Sjøørret",
"date": "2009-06-18",
"weight": "1300",
"length": "65",
"fly": "Dryfly",
"released": "0",
"picture": "http:\/\/localhost\/php\/files\/35409ec6762544c55500b32a7ff37ee9.jpeg",
"sex": "1",
"user": "Filip"
}
以下是我获取数组的方法:
$myArray = array();
if ($result = $mysqli->query("SELECT * FROM fish")) {
while($row = $result->fetch_array(MYSQL_ASSOC)) {
$myArray[] = $row;
}
echo json_encode($myArray);
}
答案 0 :(得分:0)
您可以在内部使用switch语句来实现此目的,请参阅以下内容: -
$myArray = array();
if ($result = $mysqli->query("SELECT * FROM fish")) {
while($rows = $result->fetch_array(MYSQL_ASSOC)) {
if(is_array($rows)){
foreach($rows as $row => $value)
switch(strtolower(trim($row))){
case 'released':
$myArray[] = ($value == 1) ? 'Yes' : 'No';
break;
case 'sex':
$myArray[] = ($value == 1) ? 'female' : 'male';
break;
default:
$myArray[] = $value;
break;
}
}
}
echo json_encode($myArray);
}
答案 1 :(得分:0)
你实际上有一个来自mysqli查询的PHP数组。因此,在将它们分配给$ myArray之前,您应该只需更改$ row的值。
json_encode()