PHP:数组

1.数组作用
2.数组定义
3.数组输出
4.数组组成
5.数组类型
6.数组赋值
7.数组遍历
8.超全局数组
9.数组系统函数

数组作用:
#一个变量可以存很多值,类型可以8种变量中的任意一种.


**


数组定义:

1.array()
$arr=array(1,2,3,5);


**

<?php
$arr=array(1,3,5,6,8,9,4,6,6,5,6,5,56,6,6,6,);
echo '<pre>';
print_r($arr);
echo '</pre>';
?>

2.[]
$arr=[1,2,3,5];


**

<?php
$arr=[1,3,5,6,8,9,4,6,6,5,6,5,56,6,6,6];
echo '<pre>';
print_r($arr);
echo '</pre>';
?>

数组输出:


**

echo '<pre>'
print_r($arr);
echo '</pre>'



pre快捷键:(pre.sublime-snippet)


**

<snippet>
    <content><![CDATA[
echo '<pre>';
print_r(${1:\$arr});
echo '</pre>';
]]></content>
    <tabTrigger>pre</tabTrigger>
    <scope>source.php</scope>
    <description>COOKIE['…']</description>
</snippet>



数组组成(元素):

1.下标 (key) (键)
2.值 (value) (值)


通过键获取值

<?php

$arr=[1,3,5,6,8,9,4,6,6,5,6,5,56,6,6,6];

echo $arr[3];

?>

数组类型:

1.索引数组
$arr=array(1,3,5);


**

<?php
$arr=array(1,1,22,3,3,5,6,66,6,6,6,);
echo '<pre>';
print_r($arr);
echo '</pre>';
?>

结果是

Array
(
    [0] => 1
    [1] => 1
    [2] => 22
    [3] => 3
    [4] => 3
    [5] => 5
    [6] => 6
    [7] => 66
    [8] => 6
    [9] => 6
    [10] => 6
)

2.关联数组


**

<?php
$arr=array(
    'item1'=>'linux',
    'item2'=>'php',
    'item3'=>'java',
);
echo '<pre>';
print_r($arr);
echo '</pre>';
?>

结果是

Array
(
    [item1] => linux
    [item2] => php
    [item3] => java
)

3.混合数组
$arr=array(
5=>‘linux’,
‘item2’=>‘php’,
‘item3’=>‘java’
);


**

<?php
$arr=array(
    'linux',
    'item2'=>'php',
    'item3'=>'java'
);
echo '<pre>';
print_r($arr);
echo '</pre>';
?>

结果是

Array
(
    [0] => linux
    [item2] => php
    [item3] => java
)

数组赋值:

1.简单赋值
$arr[0]=‘html5’;


**

<?php
$arr=array(
    'linux',
    'item2'=>'php',
    'item3'=>'java'
);
$arr[0]='html5';
echo '<pre>';
print_r($arr);
echo '</pre>';
?>

结果是

Array
(
    [0] => html5
    [item2] => php
    [item3] => java
)


2.复杂赋值
$arr[100]=‘javascript’;
$arr[]=‘web’;
#它的下标是前面所有key中最大数字加1.


复杂赋值

<?php
$arr=array(
    'linux',
    'item2'=>'php',
    'item3'=>'java'
);
$arr[]='html5';
$arr[100]='js';
$arr[]='css';

echo '<pre>';
print_r($arr);
echo '</pre>';
?>

结果是

Array
(
    [0] => linux
    [item2] => php
    [item3] => java
    [1] => html5
    [100] => js
    [101] => css
)


赋值3

<?php
for($i=0;$i<10;$i++){
    $arr[]=$i;
};
echo '<pre>';
print_r($arr);
echo '</pre>';
?>

结果是

Array
(
    [0] => 0
    [1] => 1
    [2] => 2
    [3] => 3
    [4] => 4
    [5] => 5
    [6] => 6
    [7] => 7
    [8] => 8
    [9] => 9
)

数组遍历:

1.for遍历

for($i=0;$i<5;$i++)){
	echo "<p>{$i}----{$arr[$i]}</p>";
}

for索引数组遍历

<?php

$arr=array('linux','html','css','php','js');
for($i=0;$i<4;$i++){
   echo $i.'-'.$arr[$i].'<br>';
};

?>

结果

0-linux
1-html
2-css
3-php

2.while…list…each遍历

while(list($key,$val)=each($arr)){
	echo "<p>{$key}----{$val}</p>";
}

**

<?php
$arr=array(
    'item1'=>'linux',
    'item2'=>'js',
    'item3'=>'php',
    'item4'=>'java'
);
while(list($key,$val)=each($arr)){
    echo "<p>{$key}---------{$val}</p>";
};
?>

结果是

item1---------linux

item2---------js

item3---------php

item4---------java

3.foreach遍历

foreach($arr as $key=>$val){
	echo "<p>{$key}----{$val}</p>";
}

list函数

<?php

list($a,$b)=array('linux','html');
echo $a;
echo '<br>';
echo $b;

?>

结果是

linux
html


each函数读取数组

<?php
$arr=array(
    'linux',
    'item2'=>'php',
    'item3'=>'java'
);
$arr1=each($arr);
echo '<pre>';
print_r($arr1);
echo '</pre>';
$arr2=each($arr);
echo '<pre>';
print_r($arr2);
echo '</pre>';
?>

结果是

Array
(
    [1] => linux
    [value] => linux
    [0] => 0
    [key] => 0
)

Array
(
    [1] => php
    [value] => php
    [0] => item2
    [key] => item2
)



**

<?php
$arr=array(
    'item1'=>'linux',
    'item2'=>'js',
    'item3'=>'php',
    'item4'=>'java'
);
foreach($arr as $key=>$val){
    echo "<p>{$key}---------{$val}</p>";
};
?>

结果是

item1---------linux

item2---------js

item3---------php

item4---------java

超全局数组:

1.$_SERVER


**

<?php
echo '<pre>';
print_r($_SERVER);
echo '</pre>';
?>

结果是

Array
(
    [MIBDIRS] => D:/xampp/php/extras/mibs
    [MYSQL_HOME] => \xampp\mysql\bin
    [OPENSSL_CONF] => D:/xampp/apache/bin/openssl.cnf
    [PHP_PEAR_SYSCONF_DIR] => \xampp\php
    [PHPRC] => \xampp\php
    [TMP] => \xampp\tmp
    [HTTP_HOST] => localhost
    [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
    [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    [HTTP_ACCEPT_LANGUAGE] => zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    [HTTP_ACCEPT_ENCODING] => gzip, deflate
    [HTTP_CONNECTION] => keep-alive
    [HTTP_UPGRADE_INSECURE_REQUESTS] => 1
    [HTTP_CACHE_CONTROL] => max-age=0
    [PATH] => C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\Docker\Docker\Resources\bin;D:\python3.7.3\Scripts\;D:\python3.7.3\;C:\Program Files\Common Files\Siemens\Automation\Simatic OAM\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Common Files\Autodesk Shared\;C:\Users\HAHAHA\AppData\Local\Microsoft\WindowsApps;D:\Program Files\Java\jdk1.8.0_131\bin;D:\Program Files\CMake\bin;C:\Users\HAHAHA\AppData\Local\Programs\Python\Python37\Scripts\;C:\Users\HAHAHA\AppData\Local\Programs\Python\Python37\;D:\Program Files\PostgreSQL\10\bin\;D:\Program Files\PostgreSQL\10\lib\;D:\xampp\php;d:\Users\HAHAHA\AppData\Local\Programs\Microsoft VS Code Insiders\bin;C:\FWebRoot\vlc;C:\FWebRoot\Qt;;C:\FWebRoot\vlc;C:\FWebRoot\Qt;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\Common Files\Hongye Shared\CAD;D:\Program Files\nodejs\;D:\VisualField3;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps
    [SystemRoot] => C:\Windows
    [COMSPEC] => C:\Windows\system32\cmd.exe
    [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.PYW
    [WINDIR] => C:\Windows
    [SERVER_SIGNATURE] => 
Apache/2.4.39 (Win64) OpenSSL/1.1.1b PHP/7.3.5 Server at localhost Port 80


    [SERVER_SOFTWARE] => Apache/2.4.39 (Win64) OpenSSL/1.1.1b PHP/7.3.5
    [SERVER_NAME] => localhost
    [SERVER_ADDR] => ::1
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => ::1
    [DOCUMENT_ROOT] => D:/xampp/htdocs/php2/
    [REQUEST_SCHEME] => http
    [CONTEXT_PREFIX] => 
    [CONTEXT_DOCUMENT_ROOT] => D:/xampp/htdocs/php2/
    [SERVER_ADMIN] => postmaster@localhost
    [SCRIPT_FILENAME] => D:/xampp/htdocs/php2/index.php
    [REMOTE_PORT] => 50537
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => 
    [REQUEST_URI] => /
    [SCRIPT_NAME] => /index.php
    [PHP_SELF] => /index.php
    [REQUEST_TIME_FLOAT] => 1567137212.05
    [REQUEST_TIME] => 1567137212
)


1)SERVER_NAME
#域名
2)SERVER_ADDR
#服务器ip地址

3)SERVER_PORT
#服务器端口

4)REMOTE_ADDR
#客户端ip

5)DOCUMENT_ROOT
#网站根目录

6)REQUEST_SCHEME
#请求协议

7)SCRIPT_FILENAME
#当前脚本的系统绝对路径

8)QUERY_STRING
#给当前脚本传递的参数

9)REQUEST_URI
#网站绝对地址+参数

10)SCRIPT_NAME
#网站绝对地址

11)PHP_SELF
#网站绝对地址

2.$_GET
#获取给当前脚本传递的地址栏参数.


form表单get传值

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>index</title>
</head>
<body>
	<h1>用户注册</h1>
	<form action="reg.php">
		<p>用户名:</p>
		<p>
			<input type="text" name='username'>
		</p>

		<p>密码:</p>
		<p>
			<input type="text" name='password'>
		</p>

		<p>
			<input type="submit" value="ok">
		</p>
	</form>
</body>
</html>

reg.php

<?php
echo '<pre>';
print_r($_GET);
echo '</pre>';
?>

3.$_POST
#获取表单给当前脚本传递的post数据.


form表单post传值

<!doctype html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>index</title>
</head>
<body>
	<h1>用户注册</h1>
	<form action="reg.php" method="post">
		<p>用户名:</p>
		<p>
			<input type="text" name='username'>
		</p>

		<p>密码:</p>
		<p>
			<input type="text" name='password'>
		</p>

		<p>
			<input type="submit" value="ok">
		</p>
	</form>
</body>
</html>

reg.php

<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>

4.$_REQUEST(不建议使用)
#获取表单给当前脚本传递的get数据.
#获取表单给当前脚本传递的post数据.


**

<?php
echo '<pre>';
print_r($_REQUEST);
echo '</pre>';
?>

5.$GLOBALS
#包含所有其他超全局数组.


**


6.$_COOKIE

7.$_SESSION

8.$_FILES


**


超全局作用:

1.预定义
1)php中提前已经定义好了.


**


2.超全局
1)函数外面可以用.
2)函数里面也可以用.


**

<?php
echo '<pre>';
print_r($_GET);
echo '</pre>';
function show(){
    echo '<pre>';
    print_r($_GET);
    echo '</pre>';
}
show();
?>

结果是

Array
(
    [username] => 123
    [password] => 123
)

Array
(
    [username] => 123
    [password] => 123
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值