> 백엔드 개발 > PHP 튜토리얼 > PHP의 일반적인 실수

PHP의 일반적인 실수

小云云
풀어 주다: 2023-03-22 16:56:01
원래의
1253명이 탐색했습니다.

이 글은 일상생활에서 PHP를 사용할 때 발생하는 일반적인 실수를 주로 여러분과 공유합니다. 이 내용이 모든 사람에게 도움이 되기를 바랍니다.

1 인용문

<?php$arr = range(1,3);foreach ($arr as &$v){
}


print_r($arr);foreach ($arr as $v){
    print_r($arr);

}
로그인 후 복사

PHP의 일반적인 실수

2 변수 설정 여부 감지

<?php$data = array();//$data[&#39;name&#39;]  = 0;//$data[&#39;name&#39;]  = null;$data[&#39;name&#39;] = false;if (isset($data[&#39;name&#39;])) {
    var_dump(&#39;not set name&#39;);
} else {
    var_dump(&#39;already set name&#39;);

}if (($data[&#39;name&#39;])) {
    var_dump(&#39;data-name 存在&#39;);
} else {
    var_dump(&#39;data-name 不存在&#39;);

}if (array_key_exists(&#39;name&#39;, $data)) {
    var_dump(&#39;key name 存在于array中&#39;);
} else {
    var_dump(&#39;key name 不存在于array中&#39;);

}
로그인 후 복사

세 가지 값, 변수 존재 여부를 확인하는 세 가지 방법의 결과는 다음과 같습니다.
PHP의 일반적인 실수
PHP의 일반적인 실수

PHP의 일반적인 실수

3 직접 사용 데이터 인덱스를 반환하는 함수

<?phpclass Config{
    private $values = [];    public function __construct() {
        // 使用数组对象而不是数组
        // $this->values = new ArrayObject();
    }    public function &getValues() {
        return $this->values;
    }
}$config = new Config();$config->getValues()[&#39;test&#39;] = &#39;test&#39;;echo $config->getValues()[&#39;test&#39;];
로그인 후 복사

객체를 사용하여 값을 저장하지 않거나 함수의 결과를 값 배열에 대한 참조로 변환하는 참조를 사용하지 않으면 잘못된 것일 수 있습니다

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(&#39;testKey&#39;, &#39;testValue&#39;);echo $config->getValue(&#39;testKey&#39;);    // 输出『testValue』
로그인 후 복사

위 내용은 PHP의 일반적인 실수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿