//PHP定义变量
import console
import php;
//PHP代码
phpcode =/*
//定义变量必须在前面加上美元符号,实际的变量名字并不包含前面的美元符号
//在函数外面定义的默认是全局变量,这一点与aardio相同
$g = "我是全局变量 ";
//定义函数
function func() {
//函数内部定义的变量默认是局部变量
//而aardio在任何时候定义的变量都是默认为当前名字空间的成员变量,而不是局部变量
//变量不需要声明,即可直接赋值定义,这与aardio相同
$v = "我是局部变量 ";
print( $v ); //调用函数可以省略括号,aardio不允许你这么做
if ( ! isset($g) ) { //判断变量是否存在
echo '不能访问全局变量';
}
global $g; //用global关键字定义全局变量
if ( isset($g) ) {
echo '全局变量$g的值'.$g;
//也可以这样访问全局变量
//类似aardio中的 ..global,注意在PHP中是大写,不要忘记了后面多一个字母S
echo $GLOBALS["g"] ;
}
unset($g); //释放变量
//字符串连接符是一个圆点,而在aardio中圆点是成员操作符,两个加号才是字符串连接
echo "字符串相加"."字符串相加".$v;
}
//调用函数
func();
//注意PHP中不能省略行尾的分号
//但是在aardio中可以省略行尾分号(自由总是有代价的,还是加上的好)
*/
//运行PHP代码,返回表达式的值
php.exec(phpcode);
..console.log("可以直接读写PHP全局变量", php.g )
//用aardio写一遍相同的代码
//==================================================
//变量不需要声明,即可直接赋值定义,这与aardio相同
//你可以在变量名前加上美元符号,但不是必须的,美元符号是变量名字的一部分(而PHP的真实变量名称不包含美元符号)
$g = "我是全局变量 ";
//定义函数
function func() {
//aardio默认定义的变量都是全局变量,所以没有global关键字
//但是有var关键字,var语句定义一个局变量
var $v = "我是局部变量 ";
console.log( $v ); //调用函数不能省略括号(php中可以), print函数总会在后面增加一个换行(PHP不会)
if ( $g) { //判断变量是否存在
console.log( '可以访问全局变量' );
}
//实际上面所指的全局变量是当前名字空间的变量( PHP旧版本不支持名字空间 )
console.log( ..$g ) //而加上两点则表示真正的全局变量
console.log( ..global["$g"] ) //这个等价于PHP中的 $GLOBALS["g"]
$g = null ; //释放变量
//连接字符串字面常量时,可以用一个加号替代两个加号
console.log( "字符串" ++ "字符串" + "字符串" ) //可以省略分号(PHP不可以)
}
//调用函数
func();
|