本文目录一览:
php怎么把对象转为数组
这里定义2个php匿名对象和数组相互转换的函数,代码如下:
function array2object($array) {
if (is_array($array)) {
$obj = new StdClass();
foreach ($array as $key => $val) {
$obj->$key = $val;
}
} else {
$obj = $array;
}
return $obj;
}
function object2array($object) {
if (is_object($object)) {
foreach ($object as $key => $value) {
$array[$key] = $value;
}
} else {
$array = $object;
}
return $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有什么函数能够直接转换数组?
因为不支持代码标签了,上面放图,下面是代码 php API 中没有可以直接打到效果的函数,在此封装了一个 下面是代码
<?php
/**
* $list 数组
* $column_num 数据列数量
*/
function groupBy($list, $column_num){
$group = [];
$keys = array_keys($list);
for ($i=0; $i < $column_num; $i++){
$item = [];
foreach ($keys as $key){
$item[$key] = $list[$key][$i];
}
$group[] = $item;
}
return $group;
}
$temp = [
'bg' => ['bg1','bg2','bg3'],
'img' => ['img1','img2','img3'],
'url' => ['url1','url2','url3'],
];
$list = groupBy($temp,3);
echo(json_encode($list));
?>
php怎么把关联数组转成索引数组?
PHP和PERL、VB不同,其只有“数组”,没有单独的“关联数组”类型,实际上PHP的所有数组都是关联数组,当没有指定键值的时候,键值为0、1、2... php中定义数组的方法: PHP定义数组的格式
数组名=array();
如:
$aa=array();//这样就定义了一个数组
之后给元素赋值:
$aa[0]="9016";
$aa[1]="9017";
$aa[2]="9018";
PHP输出数组的方法:
foreach($aa as $val) {
echo $val;
}
也可以在定义数组时直接赋值
$aa=array(0=>"9016",1=>"9017",2=>"9018");
PHP的数组还可以用字符做下标,不一定要数字.
$aa["name"]="Joan";
$aa["num"]="9018";
$aa["email"]="abc@abc.com";
也可以这样
$aa=array("name"=>"joan","num"=>"9018","email"=>"abc@abc.com");
将一个一维数组的元素也定义为数组,就是一个二维数组,
$aa=array(0=>"a1",1=>"a2");
$bb=array(0=>"b1",1=>"b2");
$cc=array(0=>$aa,1=>$bb);
此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。 同理,三维,四维数组也可以继续定义下去。 数组的元素不仅于数字和字符串,可以是类的对象。