php数组总结篇(一)

  数组

  1.数组的下标是整型数值或者是字符串类型。

  eg1.索引数组的键是______,关联数组的键是______。

  2.字符串作为索引的时候,应加上引号。常量或者变量不用加引号,否则无法编译。

  在php中,没有引号的字符串会自动生成一个裸字符串,而 PHP 可能会在以后定义此常量,不幸的是你的代码中有同样的名字,那么这个字符串就被重新赋值。

  eg2.<?php

  // 显示所有错误

  error_reporting(E_ALL);

  $arr = array('fruit' => 'apple', 'veggie' => 'carrot');

  // 正确

  print $arr['fruit']; // apple

  print $arr['veggie']; // carrot

  // 不正确。This works but also throws a PHP error of

  // level E_NOTICE because of an undefined constant named fruit

  //

  // Notice: Use of undefined constant fruit - assumed 'fruit' in...

  print $arr[fruit]; // apple

  // Let's define a constant to demonstrate what's going on. We

  // will assign value 'veggie' to a constant named fruit.

  define('fruit','veggie');

  // Notice the difference now

  print $arr['fruit']; // apple

  print $arr[fruit]; // carrot

  // The following is okay as it's inside a string. Constants are not

  // looked for within strings so no E_NOTICE error here

  print "Hello $arr[fruit]"; // Hello apple

  // With one exception, braces surrounding arrays within strings

  // allows constants to be looked for

  print "Hello {$arr[fruit]}"; // Hello carrot

  print "Hello {$arr['fruit']}"; // Hello apple

  // This will not work, results in a parse error such as:

  // Parse error: parse error, expecting T_STRING' or T_VARIABLE' or T_NUM_STRING'

  // This of course applies to using autoglobals in strings as well

  print "Hello $arr['fruit']";

  print "Hello $_GET['foo']";

  // Concatenation is another option

  print "Hello " . $arr['fruit']; // Hello apple

  ?>

  3.键值问题

  $a['color'] = 'red';

  $a['taste'] = 'sweet';

  $a['shape'] = 'round';

  $a['name'] = 'apple';

  $a[] = 4; // key will be 0

  $b[] = 'a'; // key will be 0

  $b[] = 'b'; // key will be 1

  $b[] = 'c'; // key will be 2

  switching = array( 10, // key = 0

  5 => 6,

  3 => 7,

  'a' => 4,

  11, // key = 6 (maximum of integer-indices was 5)

  '8' => 2, // key = 8 (integer!)

  '02' => 77, // key = '02'

  0 => 12 // the value 10 will be overwritten by 12

  );

  <?php

  $multi_array = array("red",

  "green",

  42 => "blue","yellow" => array("apple",9 => "pear","banana","orange" => array("dog","cat","iguana")));

  ?>

  A.$multi_array['yellow']['apple'][0]

  B.$multi_array['blue'][0]['orange'][1]

  C.$multi_array[3][3][2]

  D.$multi_array['yellow']['orange']['cat']

  E.$multi_array['yellow']['orange'][1]

  --------------------------------待续待续待续------

  4.array_walk

  5.var_dump

  6.array_intersect

  7.array_sum

  8.array_count_values

  9.array_flip

  10.natsort

  11.ksort(),asort(),krsort(),sort(),usort()

  12.array_reverse()

  13.array_merge

  14.reset

  -------------------------------待续待续待续------

  15.array_combine

  16array_count_values

  17.array_diff

  18.array_filter

  19.array_search