php数组如何使用,如何在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

".

" $salary

".

"

");

}

?>

next()

定义:

mixed next(array array);

用途:

传回下一个数组指针所指的值,注意是先把指针往下移,再传回值。如果元素的值是 0 或 "" (空字符串),则传回 false。当指针已指向数组尾段,无法再往下移时,则传回 false。

可利用 echo() 函数来观察数组中是否有 0 或 ""。

prev()

定义:

mixed prev(array array);

用途:

将数组内部指针往前移前一位后,再传回元素的值。

reset()

定义:

mixed reset(array array);

用途:将数组的指针初始化,即移到第一个元素的位置,并且传回第一个元素的值。

key()

定义:

mixed key(array array);

用途:

传回目前 associative array 中的 key,即数组内部指针所指元素位置的 key。配合 reste()、next() 的综合范例如下:

$fruits = array("d"=>"lemon","a"=>"orange","b"=>"banana","c"=>"apple");

arsort($fruits);

for(reset($fruits); $key = key($fruits); next($fruits)) {

echo "fruits[$key] = ".$fruits[$key]."

";

}

输出:

fruits[a] = orange

fruits[d] = lemon

fruits[b] = banana

fruits[c] = apple

循环由第一个元素开始拜访所有的元素,到最后一个元素结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值