php object或者array如何转换成string
做php数据库查询的时候有两个函数
oci_fetch_object和oci_fetch_array(),分别返回object和array类型的返回值,我现在需要一个string类型的,如何转换?
$results = "[";
$row = oci_fetch_array($stmt); <-这里用oci_fetch_object也可以
$results += ??? <-这里如果将返回值$row转换成string类型的,我试过(string)不行
$results = "]";
------最佳解决方案-------------------- while($row = oci_fetch_array($stmt)) {
$result[] = $row;
}
$result = json_encode($result);
------其他解决方案-------------------- 你可能需要的是 json_encode
------其他解决方案-------------------- 引用: 你可能需要的是 json_encode
我试过,不行。。。
其实我的目的就是要把oci查询的返回值变成json串
------其他解决方案-------------------- 看你的格式,你是想把object或者是array转化为json格式吧。。
楼上正解,转化为json是json_encode,json转为array是json_decode
如果想自己拼接也可以啊。数组转化为string,直接用implode好了
------其他解决方案-------------------- 贴出楼主的数据
------其他解决方案-------------------- $results = "[";
$usercount = 0;
$row = oci_fetch_array($stmt);
if($row){
$results += $row;
$usercount++;
}
while (1) {
$row = oci_fetch_array($stmt);
if(!$row) break;
$results += ","+$row;
$usercount++;
}
$results += "]";
这个是我的代码,得出的$results是0而不是json数组,其中查询是有多条返回值的
------其他解决方案-------------------- 引用: while($row = oci_fetch_array($stmt)) {
$result[] = $row;
}
$result = json_encode($result);
这样改后提示Cannot use a scalar value as an array in,然后$result=“”
------其他解决方案-------------------- 你把你原来的 $results = "["; 删掉啊!
------其他解决方案-------------------- 引用: 你把你原来的 $results = "["; 删掉啊!
删掉了,只写
while($row = oci_fetch_array($stmt)) {
$result[] = $row;
}
$result = json_encode($result);
这一段来着,然后返回$result
$result[] = $row;提示Cannot use a scalar value as an array in
------其他解决方案-------------------- 引用: 你把你原来的 $results = "["; 删掉啊!
可以了,刚刚发现在函数开始有个$result的定义来着,删掉就可以了