이 글은 일상생활에서 PHP를 사용할 때 발생하는 일반적인 실수를 주로 여러분과 공유합니다. 이 내용이 모든 사람에게 도움이 되기를 바랍니다.
1 인용문
<?php$arr = range(1,3);foreach ($arr as &$v){ } print_r($arr);foreach ($arr as $v){ print_r($arr); }
2 변수 설정 여부 감지
<?php$data = array();//$data['name'] = 0;//$data['name'] = null;$data['name'] = false;if (isset($data['name'])) { var_dump('not set name'); } else { var_dump('already set name'); }if (($data['name'])) { var_dump('data-name 存在'); } else { var_dump('data-name 不存在'); }if (array_key_exists('name', $data)) { var_dump('key name 存在于array中'); } else { var_dump('key name 不存在于array中'); }
세 가지 값, 변수 존재 여부를 확인하는 세 가지 방법의 결과는 다음과 같습니다.
3 직접 사용 데이터 인덱스를 반환하는 함수
<?phpclass Config{ private $values = []; public function __construct() { // 使用数组对象而不是数组 // $this->values = new ArrayObject(); } public function &getValues() { return $this->values; } }$config = new Config();$config->getValues()['test'] = 'test';echo $config->getValues()['test'];
객체를 사용하여 값을 저장하지 않거나 함수의 결과를 값 배열에 대한 참조로 변환하는 참조를 사용하지 않으면 잘못된 것일 수 있습니다
Notice: Undefined index: test in /Users/leon/Documents/workspace/test/php7.php on line 20
이것은 개체의 캡슐화를 파괴하므로 이렇게 작성하는 것이 가장 좋습니다
class Config{ private $values = []; public function setValue($key, $value) { $this->values[$key] = $value; } public function getValue($key) { return $this->values[$key]; } }$config = new Config();$config->setValue('testKey', 'testValue');echo $config->getValue('testKey'); // 输出『testValue』
위 내용은 PHP의 일반적인 실수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!