当前位置:首页 » 编程语言 » php数组初始化

php数组初始化

发布时间: 2023-07-23 07:32:34

php 数组序列化

mixed unserialize ( string str [, string callback] )

unserialize() 对单一的已序列化的变量进行操作,将其转换回 PHP 的值。返回的是转换之后的值,可为 integer、float、string、array 或 object。如果传递的字符串不可解序列化,则返回 FALSE。

unserialize_callback_func 指令: 如果在解序列化的时候需要实例化一个未定义类,则可以设置回调函数以供调用(以免得到的是不完整的 object “__PHP_Incomplete_Class”)。可通过 php.ini、ini_set() 或 .htaccess 定义‘unserialize_callback_func’。每次实例化一个未定义类时它都会被调用。若要禁止这个特性,只需置空此设定。还需要注意的是 unserialize_callback_func 指令是从 PHP 4.2.0 开始提供使用的。

若被解序列化的变量是一个对象,在成功地重新构造对象之后,PHP 会自动地试图去调用 __wakeup() 成员函数(如果存在的话)。 例子 1. unserialize_callback_func 示例

<?php
$serialized_object='O:1:"a":1:{s:5:"value";s:3:"100";}';

// unserialize_callback_func 从 PHP 4.2.0 起可用
ini_set('unserialize_callback_func','mycallback'); // 设置您的回调函数

function mycallback($classname) {
// 只需包含含有类定义的文件
// $classname 指出需要的是哪一个类
}
?>

<?php
// 这里,我们使用 unserialize() 装载来自数据库的 $session_data 数组中的会话数据。
// 此例是描述 serialize() 的那个例子的补充。

$conn = odbc_connect ("webdb", "php", "chicken");
$stmt = odbc_prepare ($conn, "SELECT data FROM sessions WHERE id = ?");
$sqldata = array ($PHP_AUTH_USER);
if (!odbc_execute ($stmt, &$sqldata) || !odbc_fetch_into ($stmt, &$tmp)) {
// 如果执行出错或返回错误,则初始化为空数组
$session_data = array();
} else {
// 现在我们需要的是 $tmp[0] 中已序列化的数据。
$session_data = unserialize ($tmp[0]);
if (!is_array ($session_data)) {
// 出错,初始化为空数组
$session_data = array();
}
}
?>

Ⅱ PHP中要使用数组的话必须先定义一个变量为array()吗

不是必须的,可以不先用array()初始化,例如下面的代码能正常执行:

<?php
$arr[0]='abc';
$arr[1]='def';
print_r($arr);
?>

并且正确的输出下面的结果:

Array
(
[0]=>abc
[1]=>def
)


当然,使用数组前使用array()初始化一下有两个好处,一是如果之前用过这个名字可以初始化,二是程序以后更容易被人看懂,例子代码:

<?php
$arr=123;
$arr=array();
$arr[0]='abc';
$arr[1]='def';
print_r($arr);
?>

输出结果与前例相同。

Ⅲ php里面怎么新建数组

php里面新建数据可以通过两种方式,一种是通过array函数来创建,另一种就是通过赋值[]来创建。

<?php

$arr1=array(1,2,3,4);
var_mp($arr1);

$arr2[0]=1;
$arr2[1]=2;
$arr2[2]=3;
$arr2[3]=4;
var_mp($arr2);

Ⅳ php数组的用法

首先你这种写法真的很另类,现在PHP比较通用花括号写法

(知毕1)对于弱语言PHP来说,不需要像严谨语言一样初始化,在使用的时候自动初始化了。所以声明了数组之后就可以使用了。而且有些时候都不需要声明,比如直接写 $i = 1.25;如果在一个严谨的语言中是要报错的,PHP可以这样使用。
(2)数组默认索引的是从0开始然后自加1。count($arr)是数组元素个数。假设n是当前数组元素个数,那么$arr[n-1]就是索引最大的一个元素。添加$arr[n]就相当于在数组后面增加一个元嫌启素。其实可以写$arr[] = $ss,效果是一样的。
(3)算法思路问题,意思是一个自然数搭者芹能被比它小的素数整除,则它不是素数。
(4)程序没有错....

Ⅳ PHP 怎么随机获取数组里面的值

方法1:
$arr=array(........); //初始化数组
$key=array_rand($arr); //随机获取数组的键
echo $arr[$key]; //输出随机数组值。
改进型:
$arr=array(........);
echo $arr[array_rand($arr)];

方法2:
$arr=array(........); //初始化数组
shuffle($arr); //打乱数组顺序
echo array_shift($arr); //输出新数组的第一个值。

Ⅵ 关于php当中static关键字,资料上说只能初始化一次。但是数组变量在定义时赋值会被下一次初始化覆盖!

你定义了static 就是静态变量
但是静态变量的初始化只进行一次,而且是定义静态变量的时候初始化
static $a = array(1,2,3);
print_r($a);
static $a = array();
这样实际上是定义了两次静态变量,并初始化,实际做会执行其中一个
就是后面这个
上面的代码实际上会被编译编程这样
<?php
function f1(){
static $a = array();

print_r($a);

print_r($a);
}
function f2(){
static $a = array();
$a[] = 1;
$a[] = 2;
$a[] = 3;
print_r($a);
print_r($a);
}

热点内容
如何删除平板储存密码 发布:2025-02-07 22:10:29 浏览:747
php微信授权登录 发布:2025-02-07 22:10:27 浏览:377
怎样编程时钟 发布:2025-02-07 21:59:38 浏览:561
夸克编程 发布:2025-02-07 21:43:43 浏览:528
电源450适合哪些配置 发布:2025-02-07 21:25:24 浏览:431
微信密码一般要多少位以上 发布:2025-02-07 21:24:19 浏览:879
sqldecimal转换 发布:2025-02-07 21:17:50 浏览:659
钢管查询源码 发布:2025-02-07 21:15:25 浏览:427
滨州服务器租赁地址 发布:2025-02-07 21:13:41 浏览:439
thinkphp删除数据库数据 发布:2025-02-07 21:12:03 浏览:946