//3.19--- 函数//print_r($array);输出整个数组 //unset($array[$i])//$array = array_values($array); 重置索引
<?php
$array = array(1, 2, 3, 4, '5'=>'s','8'=>'l');
print_r($array);
echo $array['8'];
echo $array[8];
echo gettype($array[1]);
结果://索引数字加引号和不加引号的结果是一样的 如索引1和索引01效果也是一样的
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [5] => s [8] => l ) llinteger
?>
======================================================================
<?php
$switching = array( 10, // key = 0
20 => 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
);
print_r($switching);
?>
结果:Array ( [0] => 12 [20] => 6 [3] => 7 [a] => 4 [21] => 11 [8] => 2 [02] => 77 )
在数组中插入[]索引默认在它语句前面的最大索引+1
======================================================================
<?php
// 创建一个简单的数组
$array = array(1, 2, 3, 4, 5);
print_r($array);
// 现在删除其中的所有元素,但保持数组本身不变://索引依旧存在0-1-2-3-4只不过是空的
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);
?>
================================================================================
<?php
// Show all errors
error_reporting(E_ALL);
$arr = array('fruit' => 'apple', 'veggie' => 'carrot');
// Correct
print $arr['fruit']; // apple
print $arr['veggie']; // carrot
define('fruit', 'veggie');
print $arr['fruit']; //apple
print $arr[fruit]; // carrot 可以使用常量解析
print "Hello $arr[fruit]"; //hello apple 引号内只能进行单纯的解析变量
print "Hello" .$arr[fruit]; //hello carrot 分开解析即可
print "Hello {$arr[fruit]}"; //hello carrot 加大括号也可以实现同样效果
print "Hello $arr['fruit']"; //出错的。。不可以再引号下面直接打印数组中带单引号索引的值
?>
=======================================================================================
<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 is changed,
// $arr1 is still array(2, 3)
$arr3 = &$arr1;
$arr3[] = 4; // now $arr1 and $arr3 are the same
print_r($arr1);
echo "<br />";
print_r($arr2);
echo "<br />";
print_r($arr3);
?>
结果:
Array ( [0] => 2 [1] => 3 [2] => 4 )
Array ( [0] => 2 [1] => 3 [2] => 4 )
Array ( [0] => 2 [1] => 3 [2] => 4 )
$arr3 = &$arr1; 2个数组引用后公用一个内存地址(猜的)
=============================================================//3.20
1.自动生成数组
<?php
$a[2] = 'car'; // $a is a string
$a[1] = 'b'; // $a is still a string
print_r($a); // Array ( [2] => car [1] => b )
var_dump($a) //array(2) { [2]=> string(3) "car" [1]=> string(1) "b" }
?>
$a[1] = 'b'; //也生成数组
--------------------------
2.不生成数组
<?php
$a = 'car'; // $a is a string
$a[0] = 'b'; // $a is still a string
echo $a; // bar
?>
=======================================
3.24
<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>
<?php
$array = array(1, 2, 3, 4, '5'=>'s','8'=>'l');
print_r($array);
echo $array['8'];
echo $array[8];
echo gettype($array[1]);
结果://索引数字加引号和不加引号的结果是一样的 如索引1和索引01效果也是一样的
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [5] => s [8] => l ) llinteger
?>
======================================================================
<?php
$switching = array( 10, // key = 0
20 => 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
);
print_r($switching);
?>
结果:Array ( [0] => 12 [20] => 6 [3] => 7 [a] => 4 [21] => 11 [8] => 2 [02] => 77 )
在数组中插入[]索引默认在它语句前面的最大索引+1
======================================================================
<?php
// 创建一个简单的数组
$array = array(1, 2, 3, 4, 5);
print_r($array);
// 现在删除其中的所有元素,但保持数组本身不变://索引依旧存在0-1-2-3-4只不过是空的
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);
?>
================================================================================
<?php
// Show all errors
error_reporting(E_ALL);
$arr = array('fruit' => 'apple', 'veggie' => 'carrot');
// Correct
print $arr['fruit']; // apple
print $arr['veggie']; // carrot
define('fruit', 'veggie');
print $arr['fruit']; //apple
print $arr[fruit]; // carrot 可以使用常量解析
print "Hello $arr[fruit]"; //hello apple 引号内只能进行单纯的解析变量
print "Hello" .$arr[fruit]; //hello carrot 分开解析即可
print "Hello {$arr[fruit]}"; //hello carrot 加大括号也可以实现同样效果
print "Hello $arr['fruit']"; //出错的。。不可以再引号下面直接打印数组中带单引号索引的值
?>
=======================================================================================
<?php
$arr1 = array(2, 3);
$arr2 = $arr1;
$arr2[] = 4; // $arr2 is changed,
// $arr1 is still array(2, 3)
$arr3 = &$arr1;
$arr3[] = 4; // now $arr1 and $arr3 are the same
print_r($arr1);
echo "<br />";
print_r($arr2);
echo "<br />";
print_r($arr3);
?>
结果:
Array ( [0] => 2 [1] => 3 [2] => 4 )
Array ( [0] => 2 [1] => 3 [2] => 4 )
Array ( [0] => 2 [1] => 3 [2] => 4 )
$arr3 = &$arr1; 2个数组引用后公用一个内存地址(猜的)
=============================================================//3.20
1.自动生成数组
<?php
$a[2] = 'car'; // $a is a string
$a[1] = 'b'; // $a is still a string
print_r($a); // Array ( [2] => car [1] => b )
var_dump($a) //array(2) { [2]=> string(3) "car" [1]=> string(1) "b" }
?>
$a[1] = 'b'; //也生成数组
--------------------------
2.不生成数组
<?php
$a = 'car'; // $a is a string
$a[0] = 'b'; // $a is still a string
echo $a; // bar
?>
=======================================
3.24
<?php
$a = array("apple", "banana");
$b = array(1 => "banana", "0" => "apple");
var_dump($a == $b); // bool(true)
var_dump($a === $b); // bool(false)
?>