php转换为数组,php xml转数组

发布时间:2022-11-26

本文目录一览:

  1. php怎么把对象转为数组
  2. php有什么函数能够直接转换数组?
  3. php怎么把关联数组转成索引数组?

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就是一个二维数组。 同理,三维,四维数组也可以继续定义下去。 数组的元素不仅于数字和字符串,可以是类的对象。