相关疑难解决方法(0)

在PHP中声明多个变量的正确方法

我已经用PHP编写了多年的个人脚本编码,并习惯于关闭错误显示.我即将发布其中一些脚本,并希望以正确的方式完成.

我关闭错误显示的唯一原因是为了避免在使用它之前测试每个var,这要归功于isset().

所以,这是我的问题:

是否有更好的方式来声明多个变量而不是这个?

<?php
  // at the begining of my main file
  if (!isset($foo))  ($foo = '');
  if (!isset($bar))  ($bar = '');
  if (!isset($ping)) ($ping = '');
  if (!isset($pong)) ($pong = '');
  // etc. for every single var
?>
Run Code Online (Sandbox Code Playgroud)

比如这样的东西:

<?php
  var $foo, $bar, $ping, $pong;
?>
Run Code Online (Sandbox Code Playgroud)

php variables

52
推荐指数
4
解决办法
5万
查看次数

这个〜运算符在这里意味着什么?

例:

set_error_handler(array($this, 'handleError'), E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE);
Run Code Online (Sandbox Code Playgroud)

这意味着什么?

php

14
推荐指数
3
解决办法
3990
查看次数

PHP相当于Perl的'use strict'(要求变量在使用前初始化)

Python的约定是变量是通过第一次赋值创建的,并且在分配一个变量之前尝试读取它们的值会引发异常.相比之下,PHP在读取时会隐式创建一个变量,并带有空值.这意味着在PHP中很容易做到这一点:

function mymodule_important_calculation() {
    $result = /* ... long and complex calculation ... */;
    return $resukt;
}
Run Code Online (Sandbox Code Playgroud)

此函数始终返回null,如果null是functuion的有效值,则bug可能会在一段时间内未被检测到.Python等价物会抱怨变量resukt在分配之前被使用.

那么......有没有办法将PHP配置为更严格的变量赋值?

php

9
推荐指数
1
解决办法
6813
查看次数

PHP:编写严格的代码有什么好处吗?

当我设置时error_reporting(E_ALL | E_STRICT);,我的代码会产生Undefined variable错误.我可以解决它们,但我想知道在编写通过严格检查的代码和E_STRICT关闭之间是否存在速度或内存使用方面的任何差异?

php error-reporting strict

2
推荐指数
1
解决办法
192
查看次数

标签 统计

php ×4

error-reporting ×1

strict ×1

variables ×1