㈠ php中数组的定义有几种方法及区别
数组在PHP中包含2种表现,
一种是普通数组,定义方式有二种,
第一:
$a = array("aa","bb","cc")
第二:
$a[] = "aa";
$a[] = "bb"
$a[] = "cc";
一般用数组遍历的方式可以打印出所有数据,也可以使用数组的位标(从0开始计算)自定义打印,比如:
$a[0]的值就是aa,$a[1]的值是"bb"
数组遍历自己搜索下,也是2种方式
另外是别名数组,定义也是2种
第一:
$a = array("aa"=> "11","bb"=>"22")
第二:
$a["aa"] = "11";
$a["bb"] = "22";
使用数组的位标在别名数组就不行了,必须用别名
$a[0]就取不到值了,$a[“aa”]才能取到值"11"
数组遍历其中foreach有点不一样,自己搜索下
㈡ PHP中如何更新数组
在PHP中更新数组的内容可以直接指定键名并且对该键名赋值。例如:
<?php
$php=array(“php”,”phpdo”,”1”);
$php[2]=“1”;
print_r($php);
?>
结果:Array([0]=>php[1]=>phpdo[2]=>1)
㈢ php 如何定义一个数组
php中定义数组的方法:
1、PHP定义数组的格式:
数组名=array();
如:$aa=array();//这样就定义了一个数组,
之后给元素赋值:
$aa[0]="9016";
$aa[1]="9017";
$aa[2]="9018";
2、PHP输出数组的方法:
foreach($aa as $val)
{
echo$val;
}
也可以在定义数组时直接赋值
$aa=array(0=>"9016",1=>"9017";2=>"9018");
3、PHP的数组还可以用字符做下标,不一定要数字:
$aa["name"]="Joan";
$aa["num"]="9018";
$aa["email"]="[email protected]";
也可以这样
$aa=array("name"=>"joan","num"=>"9018","email"=>"[email protected]");
将一个一维数组的元素也定义为数组,就是一个二维数组,
$aa=array(0=>"a1",1=>"a2");
$bb=array(0=>"b1",1=>"b2");
$cc=array(0=>$aa;1=>$bb);此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。
同理,三维,四维数组也可以继续定义下去。
4、数组的元素不仅于数字和字符串,可以是类的对象。
㈣ php数组的语法
定义 array()
可以用 array() 语言结构来新建一个 array。它接受一定数量用逗号分隔的 key => value 参数对。
array( [key =>]value , ... )// key 可以是 integer 或者 string// value 可以是任何值<?php$arr = array(foo => bar, 12 => true);echo $arr[foo]; // barecho $arr[12]; // 1?>
key 可以是 integer 或者 string。如果键名是一个 integer 的标准表达方法,则被解释为整数(例如 8 将被解释为 8,而 08 将被解释为 08)。key 中的浮点数被取整为 integer。php 中没有不同的数字下标和关联下标数组,数组的类型只有一种,它可以同时包含整型和字符串型的下标。
值可以是任何值。
<?php$arr = array(somearray => array(6 => 5, 13 => 9, a => 42));echo $arr[somearray][6]; // 5echo $arr[somearray][13]; // 9echo $arr[somearray][a]; // 42?>
如果对给出的值没有指定键名,则取当前最大的整数索引值,而新的键名将是该值加一。如果指定的键名已经有了值,则该值会被覆盖。
<?php// This array is the same as ...array(5 => 43, 32, 56, b => 12);// ...this arrayarray(5 => 43, 6 => 32, 7 => 56, b => 12);?>如果 $arr 还不存在,将会新建一个。这也是一种定义数组的替换方法。要改变一个值,只要给它赋一个新值。如果要删除一个键名/值对,要对它用 unset()。 <?php$arr = array(5 => 1, 12 => 2);$arr[] = 56; // This is the same as $arr[13] = 56; // at this point of the script$arr[x] = 42; // This adds a new element to // the array with key xunset($arr[5]); // This removes the element from the arrayunset($arr); // This deletes the whole array?>
注意这里所使用的最大整数键名不一定当前就在数组中。它只要在上次数组重新生成索引后曾经存在过就行了。以下面的例子来说明:
<?php// 创建一个简单的数组$array = array(1, 2, 3, 4, 5);print_r($array);// 现在删除其中的所有单元,但保持数组本身的结构foreach ($array as $i => $value) { unset($array[$i]);}print_r($array);// 添加一个单元(注意新的键名是 5,而不是你可能以为的 0)$array[] = 6;print_r($array);// 重新索引:$array = array_values($array);$array[] = 7;print_r($array);?>上例将输出: Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)Array()Array( [5] => 6)Array( [0] => 6 [1] => 7)
㈤ js中如何获取php数组
js中获取php数组的代码如下:
function ajax_test(params){
$.ajax({
url:'./php/data_read.php',
type:'post',
dataType:'html',
data:params,
error: function(){alert('error');},
success:function(procts){
alert(procts);
}
});
}
㈥ php 数组
主要用到分割array_slice,合并array_merge,去重复array_unique,键名恢复从0开始递增array_values这几个数组函数;
$x=array_slice($e,0,2);
$y=array_slice($e,2);
$xx=array_values(array_unique(array_merge($x[0],$x[1])));
$yy=array_values(array_unique(array_merge($y[0],$y[1])));
$g=array($xx,$yy);
㈦ php,如何取出数组中的值,
//数组赋值
$array=array('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3);
㈧ PHP数组问题
听起来不可思议 实际上确实是真的
2比1要快 当数组长度增加到足够大可测试
函数嵌套是建议尽量减少的 会影响速度的
从功能意义来说 2如果改成
$b=array_unique($a);
$c=sort($b);
那么更有实际意义
php手册里有句话可以在这里引用
“有一点很重要必须指出,用xxxx并不明显 比用 xxxx慢,而且还提供了明显更多的值。”
而2比1快 也提供明显更多的值
我不知道 sort(array_unique($a));
提供了一个 bool结果有何意义
难道你仅仅考虑 这个数组是否可排序?我要的新的数组呢?
㈨ php的数组
$array1 = array("key1" => "value1","key2"=>"value2");
$array2 = array("key3" => "value3","key4"=>"value4");
$result = array_merge($array1, $array2);
则~
$result['key1'] = 'value1'
㈩ PHP数组里面存放对象
楼上解释正确,不过我补充一下。
既然初始化是在类声明之后,那么可以通过手动串行化和反串行化来达到目的。
保存的时候使用serialize来保存,提取恢复的时候使用unserialize来恢复。
当然,这个还有一个要注意的地方,需要保存的对象最好是只包含数据,意思是,不要有数据库连接资源、文件资源之类的,如果包含这些,串行和反串行的结果都是一个int 0,反串行的时候可能不能正常工作。
至于对象串行反串行的一些可定制的功能,可以参考帮助文档的这个部分:
http://dk2.php.net/manual/zh/language.oop.magic-functions.php
通过定义魔术函数__sleep __wakeup来实现。