导读:很多朋友问到关于php变量怎么定义数组的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!
本文目录一览:
PHP语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。以下是为大家分享的php变量定义方法,供大家参考借鉴,欢迎浏览!
1.定义常量define("CONSTANT", "Hello world.");
常量只能包含标量数据(boolean,integer,float 和 string)。
调用常量时,只需要简单的用名称取得常量的值,而不能加“$”符号,如:echo CONSTANT;
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
2.普通变量$a = "hello";
3.可变变量(使用两个美元符号($))
$$a = "world";
两个变量都被定义了:
$a 的内容是“hello”并且 $hello 的内容是“world”。
因此,可以表述为:
echo "$a ${$a}";或者 echo "$a $hello";它们都会输出:hello world
要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要 $$a 作为一个变量并取出该变量中索引为 [1] 的值。解决此问题的语法是,对第一种情况用 ${$a[1]},对第二种情况用 ${$a}[1]。
4.静态变量
在函数内部static $a = 0;
注意:声明中用表达式的结果对其赋值会导致解析错误如static $a =3+3;(error)
静态变量仅在局部函数域中存在(函数内部),函数执行完之后,变量值不会丢失,可用于递归调用
5.全局变量
在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用,在全局范围内访问变量可以用特殊的 PHP 自定义 $GLOBALS 数组:
如:$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];
在一个函数域内用 global 语句导入的一个真正的全局变量实际上是建立了一个到全局变量的引用
global $obj;
注:对于变量的 static 和 global 定义是以 应用 的方式实现的
6.给变量赋值:传地址赋值(简单引用):
$bar = $foo; //加符号到将要赋值的变量前
改动新的变量将影响到原始变量,这种赋值操作更加快速
注意:只有命名变量才可以传地址赋值
注意:如果
$bar = $a;
$bar = $foo;
改变$bar的值只能改变变量foo的值,而不改变a的值(引用改变了)
7.PHP 超全局变量$GLOBALS : 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER : 变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。
$_GET : 经由 HTTP GET 方法提交至脚本的变量。
$_POST : 经由 HTTP POST 方法提交至脚本的变量。
$_COOKIE : 经由 HTTP COOKIEs 方法提交至脚本的变量。
$_FILES : 经由 HTTP POST 文件上传而提交至脚本的变量。
文件上传表单中要有 enctype="multipart/form-data"
$_ENV : 执行环境提交至脚本的变量。
$_REQUEST :经由 GET,POST 和 COOKIE 机制提交至脚本的.变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。参见 import_request_variables()。
注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。
$_SESSION :当前注册给脚本会话的变量。
如何禁用phpinfo():
php.ini中
disable_functiOns= phpinfo()
重启web服务器。
php中的常量
常量只能用define(常量名,常量值);
常量只能包含标量数据(boolean,integer,float 和 string)。
可以简单的通过指定其名字来取得常量的值,不要在常量前面加上 $ 符号。如果常量名是动态的,也可以用函数
constant() 来读取常量的值。用 get_defined_constants() 可以获得所有已定义的常量列表。
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应 "CONSTANT")。此时将发出一个 E_NOTICE 级的错误。参见手册中为什么 $w3sky[bar] 是错误的(除非事先用 define() 将 bar 定义为一个常量)。如果只想检查是否定义了某常量,用 defined() 函数。
常量和变量不同:
* 常量前面没有美元符号($);
* 常量只能用 define() 函数定义,而不能通过赋值语句;
* 常量可以不用理会变量范围的规则而在任何地方定义和访问;
* 常量一旦定义就不能被重新定义或者取消定义;
* 常量的值只能是标量。
定义常量
?PHP
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?
php中定义数组的方法:\x0d\x0a\x0d\x0a1、PHP定义数组的格式:\x0d\x0a数组名=array();\x0d\x0a如:$aa=array();//这样就定义了一个数组,\x0d\x0a之后给元素赋值:\x0d\x0a$aa[0]="9016";\x0d\x0a$aa[1]="9017";\x0d\x0a$aa[2]="9018";\x0d\x0a\x0d\x0a2、PHP输出数组的方法:\x0d\x0aforeach($aa as $val)\x0d\x0a{\x0d\x0aecho$val;\x0d\x0a}\x0d\x0a也可以在定义数组时直接赋值\x0d\x0a$aa=array(0="9016",1="9017";2="9018");\x0d\x0a\x0d\x0a3、PHP的数组还可以用字符做下标,不一定要数字:\x0d\x0a$aa["name"]="Joan";\x0d\x0a$aa["num"]="9018";\x0d\x0a$aa["email"]="abc@abc.com";\x0d\x0a也可以这样\x0d\x0a$aa=array("name"="joan","num"="9018","email"="abc@abc.com");\x0d\x0a将一个一维数组的元素也定义为数组,就是一个二维数组,\x0d\x0a$aa=array(0="a1",1="a2");\x0d\x0a$bb=array(0="b1",1="b2");\x0d\x0a$cc=array(0=$aa;1=$bb);此时,$cc[0]也是一个数组,$cc[1]也是一个数组,$cc就是一个二维数组。\x0d\x0a同理,三维,四维数组也可以继续定义下去。\x0d\x0a\x0d\x0a4、数组的元素不仅于数字和字符串,可以是类的对象。
php 如何定义一个数组 php中定义阵列的方法:
1、PHP定义阵列的格式:
阵列名=array();
如:$aa=array();这样就定义了一个数组,
之后给元素赋值:
$aa[0]="9016";
$aa[1]="9017";
$aa[2]="9018";
2、PHP输出阵列的方法:
foreach($aa as $val)
{
echo$val;
}
也可以在定义阵列时直接赋值
$aa=array(0="9016",1="9017";2="9018");
3、PHP的阵列还可以用字元做下标,不一定要数字:
$aa["name"]="Joan";
$aa["num"]="9018";
$aa["email"]="abc@abc.";
也可以这样
$aa=array("name"="joan","num"="9018","email"="abc@abc.");
将一个一维阵列的元素也定义为阵列,就是一个二维阵列,
$aa=array(0="a1",1="a2");
$bb=array(0="b1",1="b2");
$=array(0=$aa;1=$bb);此时,$[0]也是一个数组,$[1]也是一个数组,$就是一个二维阵列。
同理,三维,四维阵列也可以继续定义下去。
4、阵列的元素不仅于数字和字串,可以是类的物件。
Javascript如何定义一个数组?
var a = [];var a = Array(); 两者都可以的
Verilog 语言如何定义一个数组?
写在标头档案里,用的时候include进去;
定义一个memory阵列,然后把档案用readmemh读到这个数组里面,这样应该就可以 ;
Verilog HDL是一种硬体描述语言(HDL:Hardware Description Language),以文字形式来描述数字系统硬体的结构和行为的语言,用它可以表示逻辑电路图、逻辑表示式,还可以表示数字逻辑系统所完成的逻辑功能。
@property如何定义一个数组属性
test.h
@interface MyTest:NSObject
{
int myArray[5];
}
-(void)outPutValues;
@property int *myArray;
@end
即,使用指标来表示返回型别并作为引数设定型别。
#import Foundation/Foundation .h
#import 'test.h'
#includestdio.h
@implementation MyTest
-(int *)myArray
{
return myArray;
}
-(void)setMyArray:(int *)anArray
{
if(anArray!=NULL)
{
for(int i=0;i5;i++)
{
myArray[i]=anArray[i];
}
}
}
-(void)outPutValues
{
请教如何定义一个数组在flash中
使用 Array 类可以访问和运算元组。 Array 索引从零开始,这意味着阵列中的第一个元素为 [0],第二个元素为 [1],依此类推。 要建立 Array 物件,可以使用 new Array() 建构函式。 Array() 还可以作为函式呼叫。 此外,还可以使用阵列访问 ([]) ...
iintouch指令码中如何定义一个数组变数
在M档案中编入如下程式:
global a; %matlab自动将a作为阵列处理
for i=1:5
a(i)=i;
end
这样就可以成功定义一个全域性变数阵列。
测试:
在mand window输入:sin(a(1)*a(2)*pi)
得到:
ans =
-2.4493e-016
这样应该说明定义成功了吧。
如何定义一个数组的全域性变数
include #include for malloc()#include int **array; 在所有程式码块之外宣告int main() {int i,j,m,n;printf("行数 m = "); 在使用前初始化scanf("%d",m);printf("列数 n = ");scanf("%d",n);array = (int **)malloc(sizeof(int **).
pascal如果要定义一个数组为【1.n】,应如何定义?
我不知道另外那个回答的人是什么意思……(为什么要提到Bellmanfor,现在最短路也没有用Bellmanfor的啦)
应该是不能这样定义的,想要做到这样的方法倒是有:
1.开一个足够大的阵列(无聊吧)
2.使用动态的连结串列
3.模拟空间记忆体,基本和2差不多,但是是静态的
php如何定义一个常量阵列
define常量的值;
$cOnfig= array('localhost', '127.0.0.1', 'user', 'pwd');$cOnfig= serialize($config); serialize — 产生一个可储存的值的表示 define('DB_CONFIG', $config); 定义一个DB_CONFIG常量使用时用:unserialize() 从已储存的表示中建立 PHP 的值print_r(unserialize(DB_CONFIG));还原为阵列状态并列印根据类定义静态阵列 class Constants { public static $array = array('localhost', '127.0.0.1', 'user', 'pwd'); } 使用:print_r(Constants::$array);列印静态阵列
一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。
1array()函数声明的数组的方式array([mixed...]) 参数mixed的语法为key=value
如,?php
$array=array("1"="编","2"="程","3"="词","4"="典");
print_r($array);
echo "br";
echo $array[1]; //注意:下标默认是从0开始
echo $array[2];
echo $array[3];
echo $array[4];
?
2直接为数组元素赋值。如果在创建数组时不知所创建数组的大小,或在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法较好。
如,?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array); //输出所创建数组的结构
?
三、数组的类型
PHP支持两种数组:索引数组(indexed array)和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。
四、输出数组
在PHP中对数组元素输出,可以通过echo和print语句来实现,但这只能对数组中某一元素进行输出;要将数组结构输出则要使用print_r()函数,其语法:print_r(mixed expression_r),参数expression_r为普通的整形、字符型或实型变量则输出该变量本身,如果该参数为数组,则按一定键值和元素的顺序显示出该数组中的所有元素。
五、数组的构造
一维数组:
当一个数组的元素是变量时,则称其为一维数组。
声明一位数组: 类型说明符 数组名[常量表达式];
二维数组:
当一个数组的元素是一个一位数组时,则称之为二维数组。
如,?php
$str = array (
"网络编程语言"=array ("PHP","JSP","ASP"),
"体育项目"=array ("m"="足球","n"="篮球"));
print_r ( $str) ;
?
六、遍历数组
遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询或其他功能。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。
1使用foreach结构遍历数组;
2使用list()函数遍历数组,list()函数仅能用于数字索引的数组,且数字索引从0开始。
例:综合使用list()和each()认证用户登录:
?php
//输出用户登录信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo "$name=$valuebr";
}
}
?
七、统计数组元素个数
在PHP中,使用count()函数对数组中的元素个数进行统计,语法为:int coun(mixed array[,int mode]),其中参数array为必要参数,mode为可选参数,若选中COUNT——RECURSIVE(或1),本函数将递归地对数组数组。如,
?php
$array = array("php" = array("PHP函数参考大全","PHP程序开发范例宝典","PHP数据库系统开发完全手册"),
"asp" = array("ASP经验技巧宝典")
); //声明一个二维数组
echo count($array,COUNT_RECURSIVE);//递归统计数组元素的个数,运行结果为6
?
八、数组排序
1使用sort()和rsort()分别对数组进行升序和降序,如,
?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$icount($array);$i++){
echo $array[$i]." ";
}
echo "br";
$array1=rsort($array);
for($i=0;$icount($array);$i++){
echo $array[$i]." nbsp";
}
?
运行结果:
5 9 18 26 37 42 66 88
88 66 42 37 26 18 9 5
2使用ksort()和asort()对关联数组排序
如果使用了相关数组,在排序后还要保持关键字和值的排序一致,这是就需要使用ksort()和asort()函
数,如,
?php
$array=array('php'=1,'jsp'=2,'asp'=3);
ksort($array);
print_r($array);
echo "br";
asort($array);
print_r($array);
?
运行结果:
Array ( [asp] = 3 [jsp] = 2 [php] = 1 )
Array ( [php] = 1 [jsp] = 2 [asp] = 3 )
类中的数组变量定义跟正常的定义一样
例如:
?php
class my_class {
public $array = array('a','b');
function my_function(){
return $this-$array;
}
}
$new_class = new my_class;
print_r($new_class-my_function);
?
结语:以上就是编程笔记为大家整理的关于php变量怎么定义数组的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~