php数组转换为对象
⑴ php怎么将数组转换为json格式的数据
一、json_encode()
[php]view plain
<?php
$arr=array('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echojson_encode($arr);
?>
{"a":1,"b":2,"c":3,"d":4,"e":5}
$obj->body='anotherpost';
$obj->id=21;
$obj->approved=true;
$obj->favorite_count=1;
$obj->status=NULL;
echojson_encode($obj);
{
"body":"anotherpost",
"id":21,
"approved":true,
"favorite_count":1,
"status":null
}
- 由于json只接受utf-8编码的字符,所以json_encode()的参数必须是utf-8编码,否则会得到空字符或者null。当中文使用GB2312编码,或者外文使用ISO-8859-1编码的时候,这一点要特别注意。
输出
[php]view plain
再看一个对象转换的例子:
[php]view plain
输出
[php]view plain
二、索引数组和关联数组
PHP支持两种数组,一种是只保存"值"(value)的索引数组(indexed array),另一种是保存"名值对"(name/value)的关联数组(associative array)。
由于javascript不支持关联数组,所以json_encode()只将索引数组(indexed array)转为数组格式,而将关联数组(associative array)转为对象格式。
⑵ php 如何将数组转化成对象
这里定义2个php匿名对象和数组相互转换的函数,代码如下:
function array2object($array) {
用法示例如下:
$array = array('foo' => 'bar','one' => 'two','three' => 'four');$obj = array2object($array);print $obj->one; // output's "two"$arr = object2array($obj);print $arr['foo']; // output's bar⑶ php 数组和对象的问题
function get_obj_by_id($objs, $id)
{
if(!empty($objs))
{
foreach($objs as $obj)
{
if($obj->id == $id)
return $obj;
}
}
return null
}
恩,为什么你的obj->id是private的呢
希望能解决您的问题。
⑷ PHP数组转为对象怎么处理
按照你的要求编写的php程序如下
<?php
$s='{"data":["阿里:65","支付宝:2","微信:1"]}';
$obj=json_decode($s,true);
$arr=$obj['data'];
$c=array();
for($i=0;$i<count($arr);$i++){
$b=array();
$a=explode(':',$arr[$i]);
$b[$a[0]]=$a[1];
$c[$i]=$b;
}
$result['data']=$c;
echo json_encode($result,JSON_UNESCAPED_UNICODE);
?>
⑸ 如何将PHP对象数组转换成普通数组
在利用jQuery EasyUI框架进行程序开发时,碰到前台将JSON格式数据传递到服务器后台,经php的json_decode函数转换成的数组由于为对象数组,php程序无法对数据进行正常处理的情况,为此需要开发一个PHP回调函数(objarray_to_array)将对象数组转换成普通数组。
/**
* 对象数组转为普通数组
*
* AJAX提交到后台的JSON字串经decode解码后为一个对象数组,
* 为此必须转为普通数组后才能进行后续处理,
* 此函数支持多维数组处理。
*
* @param array
* @return array
*/
function objarray_to_array($obj) {
$ret = array();
foreach ($obj as $key => $value) {
if (gettype($value) == "array" || gettype($value) == "object"){
$ret[$key] = objarray_to_array($value);
}else{
$ret[$key] = $value;
}
}
return $ret;
}
⑹ php中如何把数组里的值 转换成一个对象
$array[$x]->shop();???
你说的我糊涂,什么叫shop类型?shop 不是一个类么,$x 不就是 shop 的对象么
你的对象声明也有错误 应该是 $x = new shop;//没有后面的括号
我猜你的意思是不是说 $array[$x] 如何转换成 shop 的对象,是么?
你把对象放在数组的用意是什么,换句话说,这个数组是干什么用的?
你要知道 $array[$x] 是无法调用的。
⑺ php中数组对象转普通数组
/**
* 对象数组转为普通数组
* 此函数支持多维数组处理。
*
* @param array
* @return array
*/
function objarray_to_array($obj) {
$ret = array();
foreach ($obj as $key => $value) {
if (gettype($value) == "array" || gettype($value) == "object"){
$ret[$key] = objarray_to_array($value);
}else{
$ret[$key] = $value;
}
}
return $ret;
}
你可以去后盾人平台看看,里面的东西不错
⑻ PHP如何对输出的数组和对象进行转义
比如说这个
$body = str_ireplace(array('alt=""','alt=\'\''),'',$body);
echo '';
⑼ php的数组怎么转成对象
数组变量前面加(object),可以转为对象。
⑽ php生成数组转成json后,在转化为对象
你可以参考一下我的建议,1.普通:若php关联数组不含有中文,直接json_encode转换。转换之后用json_deconde($stuJson)转为php对象。
<?php
$stu = array("name"=>"li","age"=>"35");
$stuJson = json_encode($stu);
还有什么疑问的话,可以多去后盾们看一下相关的视频,这样你更清楚