zoukankan      html  css  js  c++  java
  • php 常见问题

    empty(trim($str))报错原因

    一个if判断如下:

    if (!empty(trim($a))) { ... }
    

    报出如下错误:

    Fatal error: Can't use function return value in write context in ...
    

    如下形式则不报错误

    $ch_url = trim($a);
    if (!empty($a)) { ... }
    

    经过查询php手册,发现两个函数的使用方法为:

    bool empty( mixed var );
    string trim( string str [, string charlist] );
    

    错误就出现在这里了,原来empty()接收的是参数是一个变量,而trim()返回值为字符串,所以报错

    Note:
    在 PHP 5.5 之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误。换言之,下列代码不会生效: empty(trim($name))。 作为替代,应该使用trim($name) == false.
    没有警告会产生,哪怕变量并不存在。 这意味着 empty() 本质上与 !isset($var) || $var == false 等价。

    Fatal error: Call to undefined function mb_strimwidth() in ...

    All mb_* functions are provided by a PHP extension called Multibyte String, internal name mbstring

    You probably don't have the extension active or installed. On most Linux distros you can install the package php-mbstring to install and activate this extension.

    Apache needs to be restarted afterwards if you are using mod_php
    我用的系统为centos 7.0, 用yum安装
    yum install php-mbstring

  • 相关阅读:
    山丽防水墙客户端的卸载
    还原冰点密码清除
    STP学习总结
    NTFS权限设置时卡死
    SQL server 2000安装时“以前的某个程序安装已在安装计算机上创建挂起”
    Projecet客户端登陆无法通过验证
    Linux-nftables
    Linux-kernel-timeline
    blog编辑技巧
    Linux-swap
  • 原文地址:https://www.cnblogs.com/flowerszhong/p/6108101.html
Copyright © 2011-2022 走看看