导航:首页 > 编程语言 > phpclass数组

phpclass数组

发布时间:2022-08-11 01:10:19

⑴ 如何在php定义一个类的数组

<?
class Animal{
function bake(){
echo "我在叫……";
}
}

$array=array();
for($i=0;$i<3;$i++){
array_push($array,new Animal());
}
echo $array[0]->bake();
?>

⑵ PHP的stdClass类详解及几种数组对象转换方法

一、stdClass数组转对象

$arr=array();
$arr['a']=1;
$arr['b']=2;
$arr['c']=3;

$object=newstdClass;
foreach($arras$key=>$value){
$object->$key=$value;
}

var_mp($object);

结果输出如下:

object(stdClass)#1(3){
["a"]=>
int(1)
["b"]=>
int(2)
["c"]=>
int(3)
}

二、对象转数组

functionobject_to_array($obj)
{
$_arr=is_object($obj)?get_object_vars($obj):$obj;
foreach($_arras$key=>$val)
{
$val=(is_array($val)||is_object($val))?object_to_array($val):$val;
$arr[$key]=$val;
}
return$arr;
}

三、ArrayObject方法数组转对象

$arr=array('key1'=>'test1','key2'=>'test2');

var_mp(newArrayObject($arr));

结果输出如下:

object(ArrayObject)#1(1){
["storage":"ArrayObject":private]=>
array(2){
["key1"]=>
string(5)"test1"
["key2"]=>
string(5)"test2"
}
}

⑶ PHP 中怎样把类中的属性转化为一个数组

<?php
class test{
var $a1=1;
var $a2=2;
var $a3=3;
function aaa(){
return false;
}
}

$a = new test();

$array = array();

foreach ($a as $b){
$array[] = $b;
}

print_r($array);

?>

⑷ php创建一个类,在类中声明一个数组存放另一个对象,为什么无法调用数组中对象的方法

//新建一个类User用来存放这,三个数据
//结果放到一个User数组中,你看这可以吗?
//还是说要放到一个list中?

public class ObjectTest {

public static void main(String[] args) {
String[] id = new String[8];
String[] type = new String[8];
String[] username = new String[8];

User[] users = getUsers(type, id, username);
}

private static User[] getUsers(String[] type, String[] id, String[] username) {
User[] users = new User[type.length];
for (int i = 0; i < type.length; i++) {
users[i] = new User(id[i], type[i], username[i]);
}
return users;
}
}

class User {

public User(String id, String tpye, String username) {
this.tpye = tpye;
this.id = id;
this.username = username;
}

private String tpye;
private String id;
private String username;

public String getTpye() {
return this.tpye;
}

public String getId() {
return this.id;
}

public String getUsername() {
return this.username;
}

public void setTpye(String tpye) {
this.tpye = tpye;
}

public void setId(String id) {
this.id = id;
}

public void setUsername(String username) {
this.username = username;
}

}

⑸ php类中数组怎么使用

你把 private $a; 定义成 public $a,就可以直接用$obj->a 了。

$obj->a['key'] 就是你要访问的值。

⑹ php 元素为类的数组 的排序问题

可以排序,但是你得自己写一个比较类变量大小的函数,使用函数usort进行排序,以下内容粘贴自PHP手册:

bool usort ( array &$array, callback $cmp_function )

本函数将用用户自定义的比较函数对一个数组中的值进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。

比较函数必须在第一个参数被认为小于,等于或大于第二个参数时分别返回一个小于,等于或大于零的整数。

注意: 如果两个成员比较结果相同,则它们在排序后的数组中的顺序未经定义。到 PHP 4.0.6 之前,用户自定义函数将保留这些单元的原有顺序。但是由于在 4.1.0 中引进了新的排序算法,结果将不是这样了,因为对此没有一个有效的解决方案。

注意: 本函数为 array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

如果成功则返回 TRUE,失败则返回 FALSE。

例 311. usort() 例子

<?php
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}

$a = array(3, 2, 5, 6, 1);

usort($a, "cmp");

foreach ($a as $key => $value) {
echo "$key: $value\n";
}
?>
上例将输出:

0: 1
1: 2
2: 3
3: 5
4: 6

注意: 很明显在这个小例子中用 sort() 函数更合适。

例 312. 使用多维数组的 usort() 例子

<?php
function cmp($a, $b)
{
return strcmp($a["fruit"], $b["fruit"]);
}

$fruits[0]["fruit"] = "lemons";
$fruits[1]["fruit"] = "apples";
$fruits[2]["fruit"] = "grapes";

usort($fruits, "cmp");

while (list($key, $value) = each($fruits)) {
echo "\$fruits[$key]: " . $value["fruit"] . "\n";
}
?>
当排序多维数组时,$a 和 $b 包含到数组第一个索引的引用。

上例将输出:

$fruits[0]: apples
$fruits[1]: grapes
$fruits[2]: lemons

例 313. 使用对象的成员函数的 usort() 例子

<?php
class TestObj {
var $name;

function TestObj($name)
{
$this->name = $name;
}

/* This is the static comparing function: */
function cmp_obj($a, $b)
{
$al = strtolower($a->name);
$bl = strtolower($b->name);
if ($al == $bl) {
return 0;
}
return ($al > $bl) ? +1 : -1;
}
}

$a[] = new TestObj("c");
$a[] = new TestObj("b");
$a[] = new TestObj("d");

usort($a, array("TestObj", "cmp_obj"));

foreach ($a as $item) {
echo $item->name . "\n";
}
?>
上例将输出:

b
c
d

⑺ php 类里能包含数组吗

在class定义外的变量的作用域达不到class定义的里面,
$this->x=$_arr['pagetitle_index']; ------------------- $_arr['pagetitle_index']这个值是个NULL
必须在实例化时用$v把参数传进class里:

<?php
$_arr=array();
$_arr['pagetitle_index']='心想事成';

class Something {
var $x;
function Something($v) {
$this->x=$v;
}
function getX() {
return $this->x;
}
}

$obj=new Something($_arr['pagetitle_index']); // 实例化时传参
$see=$obj->getX();
echo $see."<br>";
?>​

这个不是数组的问题。

⑻ php数组写法

rule_name是一个数组啊他应该有个原始类型的类型的,把rule_section数组当成一个数组数据加进去就行了。我把你的JSON改了一下。你看看

{
"code":100,
"message":"计费模式列表",
"rule_name":[
{
"id":"10",
"box_id":null,
"rule_name":"规则",
"gid":"10",
"rule_section":[
{
"id":"9",
"rule_id":"10",
"start_time":"00:00:00",
"end_time":"10:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"10",
"rule_id":"10",
"start_time":"10:00:00",
"end_time":"20:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"11",
"rule_id":"10",
"start_time":"20:00:00",
"end_time":"00:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"7",
"rule_id":"9",
"start_time":"00:00:00",
"end_time":"12:00:00",
"money":"6000",
"update_time":"1512527986"
},
{
"id":"8",
"rule_id":"9",
"start_time":"12:00:01",
"end_time":"23:59:59",
"money":"6000",
"update_time":"1512527986"
},
{
"id":"5",
"rule_id":"8",
"start_time":"00:00:00",
"end_time":"12:00:00",
"money":"6000",
"update_time":"1511852577"
},
{
"id":"6",
"rule_id":"8",
"start_time":"12:00:01",
"end_time":"23:59:59",
"money":"6000",
"update_time":"1511852577"
}
]
},
{
"id":"9",
"box_id":null,
"rule_name":"规则",
"gid":"10",
"rule_section":[
{
"id":"9",
"rule_id":"10",
"start_time":"00:00:00",
"end_time":"10:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"10",
"rule_id":"10",
"start_time":"10:00:00",
"end_time":"20:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"11",
"rule_id":"10",
"start_time":"20:00:00",
"end_time":"00:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"7",
"rule_id":"9",
"start_time":"00:00:00",
"end_time":"12:00:00",
"money":"6000",
"update_time":"1512527986"
},
{
"id":"8",
"rule_id":"9",
"start_time":"12:00:01",
"end_time":"23:59:59",
"money":"6000",
"update_time":"1512527986"
},
{
"id":"5",
"rule_id":"8",
"start_time":"00:00:00",
"end_time":"12:00:00",
"money":"6000",
"update_time":"1511852577"
},
{
"id":"6",
"rule_id":"8",
"start_time":"12:00:01",
"end_time":"23:59:59",
"money":"6000",
"update_time":"1511852577"
}
]
},
{
"id":"8",
"box_id":"1",
"rule_name":"规则名称",
"gid":"10",
"rule_section":[
{
"id":"9",
"rule_id":"10",
"start_time":"00:00:00",
"end_time":"10:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"10",
"rule_id":"10",
"start_time":"10:00:00",
"end_time":"20:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"11",
"rule_id":"10",
"start_time":"20:00:00",
"end_time":"00:00:00",
"money":"6000",
"update_time":"1512528175"
},
{
"id":"7",
"rule_id":"9",
"start_time":"00:00:00",
"end_time":"12:00:00",
"money":"6000",
"update_time":"1512527986"
},
{
"id":"8",
"rule_id":"9",
"start_time":"12:00:01",
"end_time":"23:59:59",
"money":"6000",
"update_time":"1512527986"
},
{
"id":"5",
"rule_id":"8",
"start_time":"00:00:00",
"end_time":"12:00:00",
"money":"6000",
"update_time":"1511852577"
},
{
"id":"6",
"rule_id":"8",
"start_time":"12:00:01",
"end_time":"23:59:59",
"money":"6000",
"update_time":"1511852577"
}
]
}
]
}

如果是PHP

classrule_nameBase{
....
//加上一条
rule_section=array();
}
//然后把rule_section的单元当做元素压进去就行了。

⑼ php stdclass 怎么转换为数组并遍历出来

使用mysql_fetch_assoc函数,具体用法可以查看一下手册,还有几个相关的函数,我一般是用这个。

$list = array();//声明一个数组用来存放数据
//$row 为取出来的一行的数据,把他放到$list里面
//$rs就是你从数据库查询出来的资源
while($row = mysql_fetch_assoc($rs)) {
$list[] = $row;
}

⑽ php类中,如何定义一个数组变量。

类中的数组变量定义跟正常的定义一样

例如:

<?php
class my_class {
public $array = array('a','b');

function my_function(){

return $this->$array;
}
}

$new_class = new my_class;

print_r($new_class->my_function);
?>

阅读全文

与phpclass数组相关的资料

热点内容
dos命令建文件夹命令 浏览:378
解压的密码htm被屏蔽 浏览:502
冬天太冷冰箱压缩机不启动怎么办 浏览:82
手机打开vcf需要什么编译器 浏览:910
加密磁盘后开机很慢 浏览:270
长沙智能云控系统源码 浏览:256
阿里云服务器如何设置操作系统 浏览:999
超级命令的英文 浏览:782
做账为什么要用加密狗 浏览:586
考研群体怎么解压 浏览:156
linux修改命令提示符 浏览:226
圆圈里面k图标是什么app 浏览:60
pdf加空白页 浏览:945
linux服务器如何看网卡状态 浏览:318
解压新奇特视频 浏览:707
图书信息管理系统java 浏览:554
各种直线命令详解 浏览:864
程序员泪奔 浏览:147
素材怎么上传到服务器 浏览:517
android百度离线地图开发 浏览:191