如何在PHP中使用数组
时间:2007-02-17 来源:PHP爱好者
在 PHP 里要使用数组时,只要将变量进行「初始化」数组时的程序即可。
范例:
$names[0] = "Jollen"
$names[1] = "Jordan"
$names[2] = "Kitty"
$names["howmany"] = 3;
scalar array 与 associative array
在上面的例子中,我们看到:
$names[3] = "Kitty"
是以 3 这个数值做索引,以数值做索引 (index, key) 的数组称为 scalar array。
另外一个例子:
$names["howmany"] = 3;
以字符串做索引的数组我们称为 associative array。
多维数组
多维数组的初始化与一维数组方法相同,例如:
$alpha[0][0] = "A";
$alpha[0][1] = "B";
$alpha[1][0] = "C";
$alpha[1][1] = "D";
这种写法等于:
$alpha[0][] = "A";
$alpha[0][] = "B";
$alpha[1][] = "C";
$alpha[1][] = "D";
数组的内部指针
PHP 里的数组事实上是利用资料结构中的双向键接串列來维护的,因此我们可以利用 next() 与 pre()函数数组列的內部指标往前或往后一个元素。数组里的指标除了利用 PHP 提供的函数外,外界无法直接去改变数组的內部指标。
PHP 数组函数 - array()、count()、current()、list()、next()、pre()、reset()、key()、array()
用途:
建立一个数组,依给定的参数 (语法) 传回数组。
范例:
$name = array("Jollen", "Paul", "Ketty");
相当于:
$name[0] = "Jollen";
$name[1] = "Paul";
$name[2] = "Ketty";
array() 亦可为用在巢状式数组:
$fruits = array(
"fruits" => array("a"=>"orange","b"=>"banana","c"=>"apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
上面为建立一个二维数组的范例。此例相当于:
$fruits["fruits"]["a"] = "orange";
$fruits["fruits"]["b"] = "banana";
$fruits["fruits"]["c"] = "apple";
$fruits["numbers"][0] = 1;
$fruits["numbers"][1] = 2;
$fruits["numbers"][2] = 3;
$fruits["numbers"][3] = 4;
$fruits["numbers"][4] = 5;
$fruits["numbers"][5] = 6;
$fruits["holes"][0] = "first";
$fruits["holes"][5] = "second";
$fruits["holes"][6] = "third";
array() 事实上并不是函数,而是 PHP 提供的一个语法。
count()
定义:
int count(mixed var);
用途:
传回 var (通常为阵列) 的元素个数,非阵列的变量则只有一个元素。没果没有这个 var 变量,则传回 0;如果 var 不是数组,则传回 1。
范例:
$names = array("jollen", "nick", "frank");
echo count($names);
输出:
3
current()
定义:
mixed current(array array);
用途:
传回目前数组里的指针所指元素的「值」。每一个数组都有一个内部的指针,指向其中的一个元素。数组的所有元素利用双向串行连接,这个指针便指向目前的元素。一开始这个指标是指到数组的第一个元素,利用其他函数存取数组時,便会改变这个指标,current() 便是传回目前所指的数组元素的值,但不会改变这个指标的位置。
传回指针指向数组的范围之外的位置,便传回 false。有一特殊情况要特別小心,当元素的值为 0 或是空字串 "" 时,也会传回 false,此时可改用 echo()函数。
list()
list() 并不是一个 function,而是像 array() 一样,属于 PHP 的语法。list() 用来一次给定多个值给多个变量。
范例:
Employee name
Salary
$result = mysql($conn, "SELECT id, name, salary FROM employees");
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
print("
".
" $name
php爱好者站 http://www.phpfans.net 网页制作|网站建设|数据采集.
范例:
$names[0] = "Jollen"
$names[1] = "Jordan"
$names[2] = "Kitty"
$names["howmany"] = 3;
scalar array 与 associative array
在上面的例子中,我们看到:
$names[3] = "Kitty"
是以 3 这个数值做索引,以数值做索引 (index, key) 的数组称为 scalar array。
另外一个例子:
$names["howmany"] = 3;
以字符串做索引的数组我们称为 associative array。
多维数组
多维数组的初始化与一维数组方法相同,例如:
$alpha[0][0] = "A";
$alpha[0][1] = "B";
$alpha[1][0] = "C";
$alpha[1][1] = "D";
这种写法等于:
$alpha[0][] = "A";
$alpha[0][] = "B";
$alpha[1][] = "C";
$alpha[1][] = "D";
数组的内部指针
PHP 里的数组事实上是利用资料结构中的双向键接串列來维护的,因此我们可以利用 next() 与 pre()函数数组列的內部指标往前或往后一个元素。数组里的指标除了利用 PHP 提供的函数外,外界无法直接去改变数组的內部指标。
PHP 数组函数 - array()、count()、current()、list()、next()、pre()、reset()、key()、array()
用途:
建立一个数组,依给定的参数 (语法) 传回数组。
范例:
$name = array("Jollen", "Paul", "Ketty");
相当于:
$name[0] = "Jollen";
$name[1] = "Paul";
$name[2] = "Ketty";
array() 亦可为用在巢状式数组:
$fruits = array(
"fruits" => array("a"=>"orange","b"=>"banana","c"=>"apple"),
"numbers" => array(1, 2, 3, 4, 5, 6),
"holes" => array("first", 5 => "second", "third")
);
上面为建立一个二维数组的范例。此例相当于:
$fruits["fruits"]["a"] = "orange";
$fruits["fruits"]["b"] = "banana";
$fruits["fruits"]["c"] = "apple";
$fruits["numbers"][0] = 1;
$fruits["numbers"][1] = 2;
$fruits["numbers"][2] = 3;
$fruits["numbers"][3] = 4;
$fruits["numbers"][4] = 5;
$fruits["numbers"][5] = 6;
$fruits["holes"][0] = "first";
$fruits["holes"][5] = "second";
$fruits["holes"][6] = "third";
array() 事实上并不是函数,而是 PHP 提供的一个语法。
count()
定义:
int count(mixed var);
用途:
传回 var (通常为阵列) 的元素个数,非阵列的变量则只有一个元素。没果没有这个 var 变量,则传回 0;如果 var 不是数组,则传回 1。
范例:
$names = array("jollen", "nick", "frank");
echo count($names);
输出:
3
current()
定义:
mixed current(array array);
用途:
传回目前数组里的指针所指元素的「值」。每一个数组都有一个内部的指针,指向其中的一个元素。数组的所有元素利用双向串行连接,这个指针便指向目前的元素。一开始这个指标是指到数组的第一个元素,利用其他函数存取数组時,便会改变这个指标,current() 便是传回目前所指的数组元素的值,但不会改变这个指标的位置。
传回指针指向数组的范围之外的位置,便传回 false。有一特殊情况要特別小心,当元素的值为 0 或是空字串 "" 时,也会传回 false,此时可改用 echo()函数。
list()
list() 并不是一个 function,而是像 array() 一样,属于 PHP 的语法。list() 用来一次给定多个值给多个变量。
范例:
Employee name
Salary
$result = mysql($conn, "SELECT id, name, salary FROM employees");
while (list($id, $name, $salary) = mysql_fetch_row($result)) {
print("
".
" $name
php爱好者站 http://www.phpfans.net 网页制作|网站建设|数据采集.
相关阅读 更多 +