当前位置:首页 » 编程语言 » php7x

php7x

发布时间: 2022-06-30 20:27:03

1. php中编码转换问题

function uc2html($str) {
$ret = ' ';
for( $i=0; $i <strlen($str)/2; $i++ ) {
$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
$ret .= iconv( "utf-8 ", "gb2312 ",u2utf8($charcode));
}
return $ret;
}

function u2utf8($c) {
$str= " ";
if ($c < 0x80) {
$str.=$c;
} else if ($c < 0x800) {
$str.=chr(0xC0 | $c> > 6);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x10000) {
$str.=chr(0xE0 | $c> > 12);
$str.=chr(0x80 | $c> > 6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x200000) {
$str.=chr(0xF0 | $c> > 18);
$str.=chr(0x80 | $c> > 12 & 0x3F);
$str.=chr(0x80 | $c> > 6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
return $str;
}
如果你不是smarty的话 试试这个 如果是smarty的话 用下面的方法
<?php

/*
@Author: 蜗牛
@Blog: http://www.00562.com

@Note: 这个解决办法是基于上面那个地址提到的方法,解决了中英文截取长度时出现乱码的问题
*/

function smarty_modifier_truncate($string, $sublen = 80, $etc = '...', $break_words = false, $middle = false)
{
$start=0;
$code="UTF-8";
if($code == 'UTF-8')
{
//如果有中文则减去中文的个数
$cncount=cncount($string);
if($cncount>($sublen/2))
{
$sublen=ceil($sublen/2);
}
else
{
$sublen=$sublen-$cncount;
}

$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
preg_match_all($pa, $string, $t_string);

if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
return join('', array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';

for($i=0; $i<$strlen; $i++)
{
if($i>=$start && $i<($start+$sublen))
{
if(ord(substr($string, $i, 1))>129)
{
$tmpstr.= substr($string, $i, 2);
}
else
{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))>129) $i++;
}
if(strlen($tmpstr)<$strlen ) $tmpstr.= "...";
return $tmpstr;
}

}

function cncount($str)
{
$len=strlen($str);
$cncount=0;

for($i=0;$i<$len;$i++)
{
$temp_str=substr($str,$i,1);

if(ord($temp_str) > 127)
{
$cncount++;
}
}

return ceil($cncount/3);
}

?>
是可以的以上两种方法 site:www.00562.com

2. 如何选择php的版本

您好,很高兴为您解答:
开发新项目:推荐使用PHP7的版本,他是一个趋势,也是优化后的结晶,他的效率非常高。
维护老项目:推荐使用PHP5.2的版本,非常稳定!
使用开源项目/CMS之类的:查询源码支持的PHP版本,一般官网都有文档,像DeDecms推荐使用PHP5.2,WP最新版本推荐PHP7
Laravel,Thinkphp5也支持PHP7了

3. php做一个乘法表

$a = array(1,2,3,4,5,6,7,8,9);
foreach ($a as $value)
{
foreach ($a as $v)
{
echo $value.'X'.$v.'='.$value*$v.' ';
}
echo '<br />';
}

4. 现在的PHP虚拟主机都支持PHP7吗

您好,不是所有主机都支持PHP7.x,就目前来说,大概有10~20%的服务商支持PHP7系,硅云目前已经支持到了最新的PHP7.3。

5. 这个是什么编码 &#x开头一共7位 PHP用什么函数转换成中文

这是通用编码,所有的编码都适用,iconv函数可以转成中文,只要第二个参数是"utf-8"就行!

6. 什么是标量类型 php中的

数据类型分为:标量数据类型,复合数据类型,特殊数据类型1.标量数据类型:是数据结构中最基本单元,只能储存一个数据,包括boolean,string,integer,float1.1string类型:定义字符串与三种方式:单引号(‘)、双引号(“)、界定符(<<<)单引号和双引号是常使用定义方式,区别是双引号中包含的变量会自动被替换成实际数值,而单引号包含的变量则按普通字符串输出。<?php$i="welcome to network1024";echo '$i'; //将输出$iecho "$i"; //输出welcome to network1024?> 转义字符:
序列 含义\n 换行\r 回车\t 水平制表符\\ 反斜线\\$ 符号$\’ 符号’\” 符号”\[0-7]{1,3} 此正则表达式序列匹配一个用八进制符号表示的符号\x[0-9A-Fa-f]{1-2} 此正则表达式序列匹配一个用十六进制符号表示的符号注意:\n和\r在windows系统下没区别,都可当回车符;linux下\n表示光标回到行首,仍在本行,\r则换到下一行,却不会回到行首。<?php$i=<<<network1024 //必须另起一行welcome to network1024network1024;echo "$i"; //输出welcome to network1024?>1.2integer类型:32位系统范围:-2147483648~2147483647,如果超出范围发生整数溢出,当float处理,返回float类型;表示方式:十进制:123;八进制:0123;十六进制:0x123;1.3float类型:32位系统范围:1.7E-308~1.7E+308表示方式:标准格式:3.141592654;科学计数法试:3141592654E-9注意:浮点数数值只是一个近似值,所以尽量避免浮点数间比较大小,因为最后的结果往往不准确。 2复合数据类型:包括数组array和对象object数组类型:是一个数据集合,可以包括多种数据:标量数据、数组、对象、资源、及PHP中支持的其他语法结构。数组中每个数据成为一个元素,元素包括索引(键名)和值两部分。元素索引只能有数字或字符串组成。元素值可以是多种数据类型。数组索引自动编号从0开始语法格式:$array=(“value1”,”value2”……)或$array[key]=”value”或$array(key1=>value1,key2=value2……)<?php$network1024=array(1=>"how",2=>2,'are'=>"you");echo $network1024[2]; //输出2echo $network1024[are]; //输出you?>声明数组后,数组中的元素个数可以自由更改。只要给数组赋值,数组就会自动增加长度。 3特殊类型:包括空值NULL和资源resourceresource:资源是由专门的函数来建立和使用的,它是一种特殊的数据类型,并由程序员分配。在使用资源时,要及时释放不需要的资源。如果忘记释放资源,系统自动启动垃圾回收机制,避免内存消耗殆尽。NULL:表示变量没有值。NULL不区分大小写,null和NULL都是一样。为NULL的情况:被赋为null;尚未被赋值;通过函数unset()而被销毁。 4数据类型转换:(type)value类型关键字 类型转换 类型关键字 类型转换(int),(integer) 转换成整形 (array) 转换成数组(float),(double),(real) 转换成浮点型 (object) 转换成对象(bool),(boolean) 转换成浮点型 (string) 转换成浮点型注意:转换为boolean:null、0、未赋值的变量或数组会转换为false,其他为true转化为integer:boolean:false为0,true为1 float:小数部分被舍去 string:以数字开头则截取到非数字位,否则输出0 通过函数bool settpye(mixed var , string type)var为指定变量;type为要转换的类型boolean/float/integer/string/array/null/objectsettype会改变变量自身类型

7. php7 linux上使用 call_user_func_array 报错

php __call()与call_user_func_array()理解 1. mixed __call ( string name, array arguments )The magic method __call() allows to capture invocation of non existing methods. That way __call() can be used to implement user defined method handling that depends on the name of the actual method being called. This is for instance useful for proxy implementations. The arguments that were passed in the function will be defined as an array in the $arguments parameter. The value returned from the __call() method will be returned to the caller of the method. 译文: 这个魔术方法允许用户调用类中不存在的方法,它用于实现那些 依赖于在被调用时的真正方法名的方法. 典型的例子是用来实现代理. 方法的参数$arguments是一个数组 ,__call()的返回值返回给方法调用者白话文: 这个方法主要是用来实现动态方法调用, 如果再一个类定义了__call()这个方法, 当用户调用这个类的一个不存在的方法时,他可以使用调用的那个不存在的方法的方法名和参数做出用户定义在__call()方法体内的相应操作,此时__call()方法的参数就是被调用的那个不存在的方法的方法名和参数例子<?phpclass Person{function talk( $sound ){echo $sound;}function __call( $method , $args ){echo 'you call method ' . $method . '
';echo 'and the arguments are
';var_mp( $args );}}$person = new Person();$person->test( 1 , TRUE );?>程序输出引用you call method testand the arguments are array 0 => int 1 1 => boolean true2. mixed call_user_func_array ( callback function, array param_arr )Call a user defined function with the parameters in param_arr. 参数functionThe function to be called. param_arrThe parameters to be passed to the function, as an indexed array. 返回值Returns the function result, or FALSE on error. 此方法可以通过传入类名,类中得方法名和方法参数达到动态调用方法的效果例子<?php class Person{function talk( $sound ){echo $sound;}function __call( $method , $args ){echo 'you call method ' . $method . '
';echo 'and the arguments are
';var_mp( $args );}} $person = new Person();call_user_func_array( array( $person , 'talk' ) , array( 'hello' ) );?>程序输出引用hello两个方法共用,实现代理模型 class Person{function talk( $sound ){echo $sound;}function __call( $method , $args ){echo 'you call method ' . $method . '
';echo 'and the arguments are
';var_mp( $args );}}class PersonProxy{private $person;function __construct(){$this->person = new Person();}function __call( $method , $args ){call_user_func_array( array( $this->person , $method ) , $args );}}$person_proxy = new PersonProxy(); $person_proxy->talk( 'thank you' );程序输出引用thank yo

8. php有什么好的是什么

PHP的简介:

PHP是一种【后端编程语言】,其主要用于后台数据处理~其英文名称就是(Hypertext Preprocessor)。

【好处】语法吸收了C语言、Java和Perl的特点,【利于学习,使用广泛,主要适用于Web开发领域】。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,【执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。】

官网:PHP

PHP的具体好处:

  1. 库多,有zip库,mysqli库,SQL库,等等

  2. 语法简介,同C++同C同Java基本一致~方便学习

  3. 安全~因为PHP的源码是开源的,所以大家都纷纷研究加密程序~

  4. 方便使用,PHP是跨平台的一门语言~

  5. 环境容易安装,例如macOS,系统自带PHP

【图:PHP的库的数量】

【Facebook】

9. 如何去掉PHP的 X

我们在使用抓包软件或者CURL的时候可以看到head头信息,我们可以执行下面命令

帮助
1
curl -I 需要测试的域名
QQ截图20140116190956

其中就包括X-Powered-By: PHP/5.3.17信息,连版本号都暴露出来了,万一此PHP版本有问题极大的影响安全性。

建议大家去掉X-Powered-By:php/5.3.17 ,我们需要编辑php.ini 文件,使用vim 编辑

帮助
1
vim /usr/local/php/etc/php.ini
找到 expose_php 参数,发现 expose_php = On ,我们把它设置为expose_php = Off,重启nginx,发现X-Powered-By:php/5.3.17 消失了。

此条目发表在php语言分类目录。将固定链接加入收藏夹。
← mysql如何批量插入数据

热点内容
凤凰地下商城wifi密码是多少 发布:2025-02-04 14:42:00 浏览:902
哈希查找算法 发布:2025-02-04 14:40:36 浏览:465
云服务器显示黑洞 发布:2025-02-04 14:29:05 浏览:300
redhatlinux教程 发布:2025-02-04 14:24:48 浏览:831
nvidia缓存清理吗 发布:2025-02-04 14:16:55 浏览:307
笔记本电脑如何设置锁屏密码 发布:2025-02-04 13:54:42 浏览:163
构成c语言程序的基本单位 发布:2025-02-04 13:49:53 浏览:990
如何修改已经更改的密码 发布:2025-02-04 13:38:38 浏览:776
唐dm2021买哪个配置划算 发布:2025-02-04 13:38:38 浏览:628
真空压缩重 发布:2025-02-04 13:38:37 浏览:643