— Perl arrays — — Php arrays —
@a = ();@a = ( 'xx', 11, 33.5, );@a = 12..33;$a[2] = 'something';$len = scalar(@a);
# or
$len = @a;@a3 = ('xx', @a1, @a2);($x, $y) = @a;$a[@a] = 'new'; # pushpush
pop
shift
unshift
spliceforeach $i (@a) { .. }
$a = array();$a = array( 'xx', 11, 33.5, );$a = range(12,33);$a[2] = 'something';$len = count($a);$a3 = array_merge('xx', $a1, $a2);list($x, $y) = $a;$a[] = 'new'; # pusharray_push
array_pop
array_shift
array_unshift
array_spliceforeach ($a as $i) { .. }
— Perl hashes — — Php hashes —
%h = ();%h = ( 'x' => 'y','z' => 'w',);$h{'x'} = 7;while (($key,$value) = each(%h))
{ .. }$a = keys(%h);
$b = values(%h);delete $h{'x'};
$h = array();$h = array( 'x' => 'y','z' => 'w',);$h['x'] = 7;foreach ($h as $key => $value)
{ .. }$a = array_keys($h);
$b = array_values($h);unset( $h['x'] );
— Perl data structures — — Php data structures —
%h = ('a'=>13, 'b'=>25);
@x = ('hi', 'there', 'all',);@mix = ( %h, @x,[33..39],{ x=>15, yy=>23, },);$mix[0]->{'b'} # == 25
$mix[0]{'b'} # == 25
$mix[2]->[2] # == 35
$mix[2][2] # == 35
$h = array('a'=>13, 'b'=>25);
$x = array('hi', 'there', 'all',);$mix = array($h, $x,range(33,39),array('x'=>15, 'yy'=>23),);$mix[0]['b'] # == 25$mix[2][2] # == 35
— Perl array split/join — — Php array split/join —
@a = split( '|', $s );@a = split( 's+', $s );$s = join( '|', @a );
$a = preg_split( '/|/', $s,-1, PREG_SPLIT_NO_EMPTY );
$a = preg_split( '/s+/', $s,-1, PREG_SPLIT_NO_EMPTY );$s = join( '|', $a );
— Perl case conversion — — Php case conversion —
$s = lc($s);
$s = uc($s);$s =~ tr/a-z/A-Z/;
$s = strtolower($s);
$s = strtoupper($s);
— Perl string comparisons — — Php string comparisons —
$s1 eq $s2$s1 lt $s2
strcmp($s1,$s2) == 0
# or
$s1 === $s2strcmp($s1,$s2) < 0
— Perl functions — — Php functions —
sub foo {my @args = @_;
}sub foo {$x = 5;
}foo2( @a, %h );
function foo() {$args = func_get_args();
}function foo() {global $x;$x = 5;
}function foo2($x, $y) {
}foo2( $a, $h );
— Perl string matching operations — — Php string matching operations —
$s =~ m/(w+)/;
$substr = $1;@all = ($s =~ m/(w+)/g);$s =~ s/s+/X/;
$s =~ s/s+/X/g;$s =~ s/^s+|s+$//g;
preg_match( "/(w+)/", $s, $match );
$substr = $match[1];preg_match_all( "/(w+)/", $s, $match );
$all = $match[0];$s = preg_replace( "/s+/", 'X', $s, 1 );
$s = preg_replace( "/s+/", 'X', $s );$s = trim($s);
— Perl basename/dirname — — Php basename/dirname —
use File::Basename;$b = basename($path);
$d = dirname($path);
$b = basename($path);
$d = dirname($path);
— Perl environment variables — — Php environment variables —
%ENV$ENV{REQUEST_METHOD}$ARGV[$i]$0
$_SERVER$_SERVER[REQUEST_METHOD]$argv[$i+1]$argv[0] # Php/CGI only
— Perl POST/GET parameters — — Php POST/GET parameters —
#form/hyperlink parameters:
# s : single-valued
# m : multi-valueduse CGI (:standard);$s = param('s');
@m = param('m');@param_names = param();
$num_params = param();
#form/hyperlink parameters:
# s : single-valued
# m[] : multi-valued
# (such as multi-selections
# and checkbox groups)$PARAM= array_merge($_GET, $_POST);$s = $PARAM['s']; # a scalar
$m = $PARAM['m']; # an array$param_names = array_keys($PARAM);
$num_params = count($PARAM);
— Perl HTML elements — — Php HTML elements —
use CGI (:standard);$ref = "x.cgi";
a({href=>$ref}, "yy")textfield({name=>"yy", size=>5})password({name=>"yy", size=>5})textarea({name=>"yy",cols=>5, rows=>2})submit({value=>"yy"})button( {name=>"xx",value=>"yy",οnclick=>"submit()",})%labels = (0=>'a',1=>'q',2=>'x');
popup_menu( { name=>"xx",values=>[0..2],labels=>%labels,size=>4,})@a = ('xx','yy','zz');
radio_group( { name=>'nn',values=> @a,default=>'_',linebreak=>1,})%labels = ('xx'=>'L1','yy'=>'L2');
@a = keys( %labels );
checkbox_group( { name=>'nn',values=> @a,labels=> %labels,})table(Tr([td(['a','b']),td(['x','y']),]))
# The Perl/CGI functions have the
# additional property of "stability"
# when used in reentrant forms.
# The values of the HTML elements are
# set according to the incoming
# parameter values for those elements.
# The versions below are not stable.$ref = "x.php";
<a href="<?php echo $ref?>">yy</a><input type=text name=yy size=5><input type=password name=yy size=5><textarea name=yy cols=5 rows=2></textarea><input type="submit" value=yy><input type="button"name="xx" value="yy"οnclick="submit()"><select name="xx" size="4">
<?php
$labels = array(0=>'a',1=>'q',2=>'x');
foreach (range(0,2) as $_)echo "<option value='$_'>",$labels[$_];
?></select>$a = array('xx','yy','zz');
foreach ($a as $_)echo "<input type=radioname=nn value='$_'>$_<br>";$labels = array('xx'=>'L1','yy'=>'L2');
foreach (array_keys($labels) as $_)echo "<input type=checkboxname=nn value='$_'>",$labels[$_];<table>
<tr>
<td>a</td><td>b</td></tr>
<tr>
<td>x</td><td>y</td>
</tr>
</table>
— Perl URL encode — — Php URL encode —
use URI::Escape;uri_escape($val)
uri_unescape($val)
 urlencode($val)
urldecode($val)
— Perl MySQL database access — — Php MySQL database access —
use DBI;
$dbh = DBI->connect('DBI:mysql:test:localhost',$usr,$pwd
);$dbh->do( $sql_op )$query = $dbh->prepare( $sql_op );
$query->execute();while(@record = $query->fetchrow() )
{ .. }$dbh->quote($val)
$dbh = mysql_connect('localhost', $usr, $pwd
);
mysql_query('USE test')mysql_query( $sql_op );$results = mysql_query( $sql_op );while($record =mysql_fetch_row($results))
{ .. }"'" . addslashes($val) . "'"

PHP 与 Perl 对照表相关推荐

  1. Python术语对照表

    Python术语对照表 交互式终端中默认的 Python 提示符.往往会显示于能以交互方式在解释器里执行的样例代码之前. - 可以是指:交互式终端中输入特殊代码行时默认的 Python 提示符,包括: ...

  2. Glossary - 术语对照表 3

    Glossary - 术语对照表 3 Glossary https://docs.python.org/3.7/glossary.html 术语对照表 https://docs.python.org/ ...

  3. 莫尔斯电码对照表_使用莫尔斯电码编码纯文本

    莫尔斯电码对照表 This began as a thought experiment while waiting for patches to install on my system. 这是在等待 ...

  4. perl: warning: Setting locale failed. Falling back to a fallback locale (“en_HK.UTF-8“).

    1. 问题描述 perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: ...

  5. perl语言编程 第四版_2020年,5 种 将死的编程语言!

    来源 | 码农网译者 | 小峰 曾几何时,几乎每个人都在使用Perl语言编程.但是那些经常使用的人慢慢地发现,关于这个Perl语言似乎总是有点不对劲.至少我知道有这么个叫做"piecemea ...

  6. java perl_在Java中调用Perl脚本

    有两种方法,种是直接 Runtime.getRuntime().exec("..."); 这里推荐第二种,可以得到输出和返回值:源代码如下: import java.io.Buff ...

  7. perl 如何更新_Perl 进度条模块

    Term::ProgressBar 模块是一个可以用于生成进度条的 Perl 模块. 安装:cpan -i Term::ProgressBar 最小脚本,展示如何最快学会使用该模块: #!/usr/b ...

  8. 不同版本浏览器前端标准兼容性对照表以及CORS解决跨域和CSRF安全问题解决方案

    CORS也已经成为主流的跨域解决方案,不过CORF也会引发CSRF,本文先分享第三方的一个前端工具箱全面展示那些浏览器版本支持CORS,由于各家浏览器厂商因为各自原因在不同的版本里支持的标准不同,这个 ...

  9. PEAR, PECL和Perl的区别

    PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写.它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR就是PHP的C ...

最新文章

  1. arm gcc栈帧结构(1)
  2. 物联网:企业需要面临七大风险
  3. 云上人替代方案训练代码
  4. Android--EditText控件属性汇总
  5. 生产环境JVM内存溢出案例分析!
  6. 华为云设计语言_《好设计,有方法:我们在搜狐做产品体验设计》 —2.2 设计语言带来的好处...
  7. 1113:不与最大数相同的数字之和
  8. 45-机器设计问题(深搜)
  9. PHP的rm指令,git rm 命令
  10. C# 调用其他的动态库开发应注意的问题
  11. python 制定识别图片的某些区域_python批量识别图片指定区域文字内容
  12. 给.Net程序员和WEB程序员建议 (转自CSDN)
  13. php 5分钟前,PHP实现时间轴函数(刚刚、5分钟前)
  14. 冲刺高阶ADAS市场,毫米波雷达多元侦测整合成主流趋势
  15. 【Hive】Hive 建表语句详解
  16. android版here地图下载,HERE WeGo地图安卓版
  17. windows server 2003 R2密钥
  18. VMware vCenter vShield配置vxlan时候vib未安装
  19. Javascript基础之-var,let和const深入解析(二) - 三者的规范描述、临时死区 (TDZ)、双定义
  20. 简明扼要的概述微服务设计原则,深入开发微服务,就从今天开始

热门文章

  1. CYQ.Data 轻量数据访问层(八) 自定义数据表实现绑定常用的数据控件(中)
  2. 杭州人有福了!菜鸟配送升级新增24小时送药服务
  3. rtmp/rtsp/hls公网测试地址
  4. Elasticsearch——分词器对String的作用
  5. 解析Infopath生成的XSN结构
  6. html 模板中的for循环,Flask模板引擎中的For循环
  7. python3 重新运行本程序_python-3.x – 在py.test测试中重新启动python(或重新加载模块)...
  8. js 正则 显示千分号 支持整数和小数
  9. 计算机工程学院运动会方阵口号,关于校运会的方阵口号
  10. 深度学习之基于Tensorflow2.0实现AlexNet网络