错题总结

1.array_merage和相加的区别php

数字索引  array_merge 会彻底合并成新的数组,相加的话会根据key值是否相同优先保留前者。css

字符串索引, 相同key值array_merge后者取代前者,相加前者取代后者。mysql

 2 trim函数nginx

$a = 'aabbc';web

echo trim($a,'ab');redis

输出csql

由于trim是按照字符串来匹配删除的,至关于正则里面a+b+;数据库

 

3.nginx -t reload 所作的事情。。部分在使用的js,css不会改变,当未使用的时候则改变服务器js,css文件内容。平滑重启nginx。不会停服务。json

 

4.数据库索引选择  当有索引abc和索引c的时候,查找where c=xxx用的是abc的索引,并且效率要低于用索引C,这个原理还要再查下数组

 

5.php-fpm php的进程管理器,用一个进程管理链接数之类的参数配置,若是要再启动Php进程,则在此进程下开启一个新的php进程。

6.获取当前月份最后一天。  echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month'));

7.数据存储在redis里的意义,利用redis的数据类型的特性,更方便操做。

之前觉得仅仅是由于操做的原子性,针对高并发。

8.php7的特性。 原文参考: https://blog.csdn.net/h330531987/article/details/74364681

1.能够强制函数参数类型,例如整型 bool型

function aa(int a){}

2.返回值类型声明。function arraySum(array $aa) : array{}

3. ??

4.太空船操做符

 $a <==>$b 相等0.小于-1 大于1

5.define支持数组

  define('aa',[1,2,3]);

6.匿名函数直接实例化$app->getlogger(new class $bb implements logger){}

7.namespace能够经过use 一次性导入

  use \{Class A,Class B,Class C}

8.intdiv(10,3) 3//除法取整去余

9.session_start增长数组参数能够替代php.ini的配置

  session_start([ 'cache_limiter' => 'private', 'read_and_close' => true ]);

10.random_bytes() 随机字符串

  random_int() 随机数字

11.能够用字符串访问静态方法

class foo
{
static $bar = 'baz';

public static function bar(){
return 222;
}
}

echo 'foo'::bar(); // 222
echo 'foo'::$bar(); // baz
exit;

 

12.php内置一个web服务器

把当前目录做为Root Document只须要这条命令便可:

php -S localhost:3300

也能够指定其它路径

php -S localhost:3300 -t /path/to/root 

还能够指定路由

php -S localhost:3300 router.php

13.支持延迟及静态绑定。static::who()

14.支持goto  goto end;  

   a:

  for(xxx){

  if(xxx)
  goto end;

  }

   end:

15. callstatic()魔术方法

16.newdoc语法

// Nowdoc 单引号 PHP 5.3以后支持
$name = 'MyName';
echo <<<'EOT'
My name is "$name".
EOT;
//上面代码输出 My name is "$name". ((其中变量不被解析)
// Heredoc不加引号
echo <<<FOOBAR
Hello World!
FOOBAR;
//或者 双引号 PHP 5.3以后支持
echo <<<"FOOBAR"
Hello World!
FOOBAR;

17.const 定义常量 
const CONSTANT = 'Hello World';

18。json 中文支持  JSON_UNESCAPED_UNICODE

19.json转义语法 echo "\u{9876}"

20.** 幂运算

21.tratis 魔术常量。替换继承的类方法

22.非变量获取下标  
echo "foobar"[2]; //输出o

23.常量加强,容许常量做为函数默认值。

24.支持常量权限 private const aa = 4

25。参数跳跃

function add(...$args)
{
$result = 0;
foreach($args as $arg)
$result += $arg;
return $result;
}

26.函数参数能够为空

function test(?string $name)
{
var_dump($name);
}

 

27。返回值void函数,要么没有retrun 要么直接return

function swap(&$left, &$right) : void
{
if ($left === $right) {
return;
}
$tmp = $left;
$left = $right;
$right = $tmp;
}
$a = 1;
$b = 2;
var_dump(swap($a, $b), $a, $b);

28.参数解包

function add($a, $b, $c) {
return $a + $b + $c;
}
$arr = [2, 3];
add(1, ...$arr);

 

 

29.yield 迭代器

 

30. foreach新写法list

$array = [
[1, 2],
[3, 4],
];
foreach ($array as list($a, $b)) {
echo "A: $a; B: $b\n";
}

31 gmp数据支持相加减

32.boolval

0: false
42: true
0.0: false
4.2: true
"": false
"string": true
"0": false
"1": true
[1, 2]: true
[]: false
stdClass: true

 

33.foreach再也不改变内部指针。

34.十六进制数字再也不认为是数字。

35

被移除的函数列表以下:
call_user_func() 和 call_user_func_array()从PHP 4.1.0开始被废弃。
已废弃的 mcrypt_generic_end() 函数已被移除,请使用mcrypt_generic_deinit()代替。
已废弃的 mcrypt_ecb(), mcrypt_cbc(), mcrypt_cfb() 和 mcrypt_ofb() 函数已被移除。
set_magic_quotes_runtime(), 和它的别名 magic_quotes_runtime()已被移除. 它们在PHP 5.3.0中已经被废弃,而且 在in PHP 5.4.0也因为魔术引号的废弃而失去功能。
已废弃的 set_socket_blocking() 函数已被移除,请使用stream_set_blocking()代替。
dl()在 PHP-FPM 再也不可用,在 CLI 和 embed SAPIs 中仍可用。
GD库中下列函数被移除:imagepsbbox()、imagepsencodefont()、imagepsextendfont()、imagepsfreefont()、imagepsloadfont()、imagepsslantfont()、imagepstext()
在配置文件php.ini中,always_populate_raw_post_data、asp_tags、xsl.security_prefs被移除了。

36.引用赋值会报错,示例以下

class C {}
$c =& new C;

37.password_hash.password_verify. php7已经不废弃加盐了

38.ini中没有#只有;进行注释

39.再也不提供 $HTTP_RAW_POST_DATA 变量。 请使用 php://input 做为替代。

 

 

补充:pdo预绑定插入并非直接编译成一条sql,而是编译成一个流程式的sql。好比@set a=xxxx 当设置变量的时候就会将关键字进行转义了。原理是mysql的预处理,不会把数据和插入弄成一个语句。

相关文章
相关标签/搜索