[闲聊] LPC & php 语法对照

楼主: laechan (挥泪斩马云)   2018-09-06 10:06:40
有自架 linux、且已安装 apache、yum 了 php 脚本相关档的,
php 脚本的档案基本上如下
#!/usr/bin/php -q
<?php
.
. <- 中间包著的就是程式内容
.
?>
php 脚本有着 php 语法的直译、大部份时候不需事先宣告变量
、以及可像 VB 执行档那样执行的好处,而且与 LPC 有很多共
通名称的函数,相当方便。
LPC php
==========================================================================
int x,y,z; 不用宣告,可直接使用 $x,$y,$z
string str,tmp; 不用宣告,可直接使用 $str,$tmp
mixed tmps; $tmps=null;
mixed tmps=({}); $tmps=array();
mixed tmps=({1,2,3}); $tmps=array(1,2,3);
mapping datas; $datas=array();
x=1; $x=1;
str="hi"; $str="hi";
tmps=({1,2,3}); $tmps=[1,2,3];
$tmps=array(1,2,3);
tmps=({"hello","world"}); $tmps=["hello","world"];
$tmps=array("hello","world");
datas=(["a":"abc","x":"xyz"]); $datas=(["a"=>"abc","x":"xyz"]);
$datas=array("a"=>"abc","x":"xyz");
x++; $x++;
str+="hey"; $str.="hey";
tmps+=({4}); $tmps[]=4;
datas["h"]="hij"; $datas["h"]="hij";
keys_data=keys(datas); $keys_data=array_keys($datas);
foreach(tmp in tmps) foreach($tmps as $tmp)
foreach(tmp1,tmp2 in datas) foreach($datas as $tmp1 => $tmp2)
原本以为没有这东西,感谢 typers
tmp=sprintf("%-s %3d",str,x); $tmp=sprintf("%-s %3d",$str,$x);
str=replace_string(str,"h","H"); $str=str_replace("h","H",$str);
比方 2..5 共取出长度4的子字串 2 5-2+1=4
tmp=str[a..b]; $tmp=substr($str,a,b-a+1);
tmp=str[a..strlen(tmp)-1]; $tmp=substr($str,a);
tmp=implode(tmps,","); $tmp=implode(",",$tmps);
tmps=explode(tmp,","); $tmps=explode(",",$tmp);
write(str+"\n"); echo($str."\n"); 或者
echo("$str\n");
write(identify(datas)); var_dump(datas);
$tmp=read_file("/file/a.txt"); $tmp=file_get_contents("/file/a.txt");
write_file("/file/a.txt",tmp); file_put_contents("/file/a.txt",$tmp);
if(undefinedp(tmps)) if(tmps==null)
if(undefinedp(datas["xxx"]) if(isset($datas["xxx"])==FALSE)
也有使用 empty() 的语法, 不过这个就够用了
if(!undefinedp(tmps)) if(is_array(tmps))
tmps=sort_array(tmps, asort(tmps);
(: sort_tmps :)); rsort(tmps);
ksort(tmps); 呼叫不同函数有不同的sort
.
.
tmp=tmps[0]; $tmp=$tmps[0];
tmp=tmps[0][1]; $tmp=$tmps[0][1];
tmp=datas["a"]; $tmp=$datas["a"];
tmp=datas["a"]["b"]; $tmp=$datas["a"]["b"];
==========================================================================
大概了解这些,读档进行字串拆解、资料分析与储存、然后再做格式化
输出就没啥问题,再怎样都能土法炼钢。
(所以我暂时只摸到这里而已,与数据库的连结部份暂时不碰)
php 的阵列其实广义来说都是 mapping,例如
$tmps=["a","b","c"];
它其实是
$tmps=[0=>"a",1=>"b",2=>"c"];
所以 $tmps[0]="a" 既合理且直觉
foreach($tmps as $tmp) 就相当于
foreach($tmps as $i => $tmp)
其中 $i 在这里就象征著阵列索引值,就能替代 for(i=0;i<n;i++)
的传统用法,直接用 foreach 就能做大部份的处理。
而且它的阵列是 mixed mapping,也就是阵列索引值可同时并存数值
与字串。
读网页档时则必须进行转换,我的转换方式是
$fh= file_get_contents('https://www.revivalworld.org/mud/taiwanmudlist');
$encode=mb_convert_encoding($fh,'BIG5','UTF-8');
这个也是 try 出来的,它的意思是先对读回来的东西做 UTF-8 转换,
然后再对转换后的东西再做 BIG5 转换,有可能是 sanc 的主机所灌的
linux 版本的设定的缘故。
Laechan

Links booklink

Contact Us: admin [ a t ] ucptt.com