CoreMVC  ·下载 ·文档 ·模块 | ·Hello World ·框架结构

core::structs

(CoreMVC 1.0)

core::structs — 传入二维数组返回特定结构的对象数组



◎描述
mixed core::structs ( [ array $array = null [, mixed $struct = null ] ] )

该方法可以把二维数组转化成相应的对象数组,可以根据第二个参数定义返回结果的形式。
◎参数
array
这个参数既可以是二维数组,也可以是对象数组。如果传入的是空值或对象则会转化成空值或对象的数组。
struct
这个结构参数定义返回结果的形式。根据需要可以返回值、数组、对象数组或多维数组,返回数组的下标可以是自增也可以是某个成员的值。
┌───────────────────────┬───────────────────────┐
│        参数类型           │       返回的结果           │
├───────────────────────┼───────────────────────┤
│空值=array(null, 'class'=>null)       │对象数组=array(new static|self, ……)    │
├───────────────────────┼───────────────────────┤
│文本=array(null, 'class'=>文本)       │对象数组=array(new 文本, ……)        │
├───────────────────────┼───────────────────────┤
│对象=array(null, 'clone'=>对象)       │对象数组=array(clone 对象, ……)       │
┝━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━┥
│array(……, 空值, ……, 结构)         │$return ...[]...=值             │
├───────────────────────┼───────────────────────┤
│array(……, 整数, ……, 结构)         │$return ...[对象[整数]]...=值        │
├───────────────────────┼───────────────────────┤
│array(……, 文本, ……, 结构)         │$return ...[对象[文本]]...=值        │
┝━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━┥
│array(……, 空值)=array(……, 'class'=>null) │$return ...=new static|self         │
├───────────────────────┼───────────────────────┤
│array(……, 整数)=array(……, 'column'=>整数)│$return ...=数组[整数]            │
├───────────────────────┼───────────────────────┤
│array(……, 文本)=array(……, 'column'=>文本)│$return ...=数组[文本]            │
├───────────────────────┼───────────────────────┤
│array(……, 对象)=array(……, 'clone'=>对象) │$return ...=clone 对象            │
├───────────────────────┼───────────────────────┤
│array(……, 数组)=array(……, 'array'=>数组) │$return ...=数组               │
┝━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━┥
│array(……, 'assoc'=>null)          │$return ...=array('属性'=>'值', ……)    │
├───────────────────────┼───────────────────────┤
│array(……, 'both'=>null)           │$return ...=array('属性'=>'值','值', ……)  │
├───────────────────────┼───────────────────────┤
│array(……, 'num'=>null)           │$return ...=array('值', ……)        │
├───────────────────────┼───────────────────────┤
│array(……, 'array'=>数组)          │$return ...=数组               │
├───────────────────────┼───────────────────────┤
│array(……, 'column'=>整数)          │$return ...=数组[整数]            │
├───────────────────────┼───────────────────────┤
│array(……, 'column'=>文本)          │$return ...=数组[文本]            │
├───────────────────────┼───────────────────────┤
│array(……, 'class'=>空值)          │$return ...=new static|self         │
├───────────────────────┼───────────────────────┤
│array(……, 'class'=>文本)          │$return ...=new 文本|static|self       │
├───────────────────────┼───────────────────────┤
│array(……, 'class|classtype'=>文本)     │$return ...=new 首个成员|文本|static|self  │
├───────────────────────┼───────────────────────┤
│array(……, 'clone'=>对象)          │$return ...=clone 对象            │
└───────────────────────┴───────────────────────┘
注:空值专指null或空串,整数专指非负数整,文本专指非空字符串,static|self表示在PHP 5.3下为静态延时绑定类名,在PHP 5.2下为当前核心模块类名。
◎返回值
根据结构参数返回相应的值,参数不正确时返回空值。
◎修改日志
版本	描述
1.1 结构参数最后一个值的下标不作为成员名,而变成了标识类型。
◎例子
最后一个参数使用方法

《test.php》
<?php
$users 
core::struct ($array'user'); //返回user的对象数组

$users core::struct ($array, array ('user_id''user')); //返回以user_id为下标的对象数组

$name_array core::struct ($array, array ('user_id''column' => 'name')); //返回以user_id为下标的单个成员name的数组
?>



CoreMVC是PHP的一款小巧精致的MVC框架,遵循New BSD协议发布。