关闭

php学习笔记之数组知识点

177人阅读 评论(0) 收藏 举报
//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)
?> 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1450次
    • 积分:46
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档