> 백엔드 개발 > PHP 튜토리얼 > 수집할 가치가 있는 20가지 이상의 일반적인 PHP 팁(공유)

수집할 가치가 있는 20가지 이상의 일반적인 PHP 팁(공유)

青灯夜游
풀어 주다: 2023-04-10 12:48:01
앞으로
2539명이 탐색했습니다.

이 기사에서는 실제 PHP 개발에서 일반적으로 사용되는 몇 가지 기술과 방법을 공유하여 낚시 시간을 늘릴 수 있습니다.

수집할 가치가 있는 20가지 이상의 일반적인 PHP 팁(공유)

1. 도메인 간 문제 해결

public function __construct()
{
    parent::__construct();
    header('Access-Control-Allow-Origin:*');    //跨域
}
로그인 후 복사

2. json_encode 중국어는 트랜스코딩되지 않습니다

die( json_encode( $result,JSON_UNESCAPED_UNICODE ) );
로그인 후 복사

3. rreee

4 . Linux 서버의 php.ini가 오류 프롬프트를 닫으면 결과는 406, 500입니다. 오류 메시지를 인쇄합니다.

$users = array(
    array('name' => 'xiao1', 'age' => 20),
    array('name' => 'xiao2', 'age' => 18),
    array('name' => 'xiao3', 'age' => 22)
);
 
/*按照年龄升序*/
//要将age提取出来存储到一维数组里,然后按照age升序排列
$ages= array_column($users, 'age');
array_multisort($ages, SORT_ASC, $users);
 
/*先按照年龄升序,再按照姓名降序*/
$ages= array_column($users, 'age');
$names = array_column($users, 'name');
array_multisort($ages, SORT_ASC, $names, SORT_DESC, $users);
로그인 후 복사

5. 목록 사용

ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
로그인 후 복사

6 array_column()

//list使用
public function test(){
    list($name, $sex) = $this->getInfo();
    echo "姓名:{$name},性别:{$sex}";
}
 
public function getInfo(){
    return ['张三', '男'];
}
 
//输出:姓名:张三,性别:男
로그인 후 복사

    array_column()을 사용합니다.
  • $array = [
        ['id'=>'99', 'name'=>'九十九'],
        ['id'=>'88', 'name'=>'八十八'],
        ['id'=>'77', 'name'=>'七十七'],
    ];
    $arr1 = array_column($array, 'name');   
    //输出:array (0 => '九十九',1 => '八十八',2 => '七十七',)
    $arr2 = array_column($array, 'name', 'id'); 
    //输出:array (  99 => '九十九',  88 => '八十八',  77 => '七十七',)
    로그인 후 복사

7. 1차원 배열 중복 제거, 0 삭제, null, 인덱스 재설정

$ids = array_column($array, 'id');
$arrayCombine = array_combine($ids, $array);
/*$arrayCombine 输出:
 array ( 
     99 => array ( 'id' => '99', 'name' => '九十九', ), 
     88 => array ( 'id' => '88', 'name' => '八十八', ), 
     77 => array ( 'id' => '77', 'name' => '七十七', ), 
 )*/
로그인 후 복사

8. 초를 시, 분, 초로 변환

초를 시, 분, 초로 변환,
    gmstrftime
  • 기능, 단, 이 기능은 24시간 이내의 초 변환으로 제한됩니다.
    $array = array(0,1,0,2,null,1,3,4,null,0);
    $array = array_values(array_unique(array_diff($array, [0, null])));	//去除0,null;去重
    var_export($array);
     
    /*输出:
    array (
      0 => 1,
      1 => 2,
      2 => 3,
      3 => 4,
    )
    */
    로그인 후 복사

9. 인터페이스는

을 반환합니다. 인터페이스는 일반적으로 1을 반환하고 비정상적으로 -1을 반환합니다. 데이터가 비어 있으면 1이고, -1은 매개변수 예외이거나 논리 오류입니다.

10. 소수점 이하 2자리까지 반올림합니다.

$r = gmstrftime('%H:%M:%S',(3600*23)+123);
var_export($r);
//输出: '23:02:03'
로그인 후 복사

11. 전화번호 가운데 4자리를 숨깁니다.

round($x, 2);
로그인 후 복사

12. 줄 바꿈 변수 PHP_EOL사용 시나리오: 작은 줄 바꿈은 실제로 플랫폼마다 다르게 구현됩니다.

원래 유닉스 세계에서는 줄바꿈을 대체하기 위해 /n을 사용하는데, Windows에서는 그 차이를 반영하기 위해 /r/n을 사용합니다. 더 흥미로운 점은 Mac에서는 /r이 사용된다는 점입니다.

PHP_EOL은 php에서 정의된 변수로, php의 줄바꿈 ​​문자를 나타냅니다.

이 변수는 플랫폼에 따라 변경됩니다. Windows에서는 /r/n, Linux에서는 /n, Mac에서는 /r입니다.

13. PHP는 배열 키가 존재하는지 확인합니다. isset(), array_key_exists(),empty()

$num = "13711111111";
$str = substr_replace($num,'****',3,4);
로그인 후 복사

14. 매개변수가 있는 js 파일을 가져오나요?_=1553829159194

때때로 있습니다. 일부 주소 뒤에는 이러한 매개변수가 있습니다. ?_=1553829159194

http://***/index/index?_=1553829159194
  • URL이 매번 변경되도록 URL 뒤에 타임스탬프 타임스탬프를 추가하세요. 브라우저 캐시를 읽을 수 없습니다.

15. 인터페이스 테스트 도구

추천 인터페이스 테스트 도구 postman

16. 마지막 단어가 "area"이면 삭제하세요.

$array = ['a'=>'我是第一个', 'b'=>'我是第二个', 'c'=>'我是第三个', 'f' => null];
if(isset($array['a'])) {
    echo 'a存在 ';
} else {
    echo 'a不存在 ';
}

if(array_key_exists('d', $array)) {
    echo 'd存在 ';
} else {
    echo 'd不存在 ';
}

if (empty($array['f'])) {
    echo 'f不存在';
} else {
    echo 'f存在,且不为 null,0,"0",false';
}
 
//a存在 d不存在 f不存在
로그인 후 복사

17. 페이지 내용이 다음과 같다고 가정합니다.

백그라운드에서 반환된 데이터 구조:
  • $distName = '南山区';
    $lastChar = mb_substr($distName, -1);
    if($lastChar=='区'){
        $lastChar = mb_substr($distName, 0, -1);
    }
    echo $lastChar;
    로그인 후 복사
    이런 식으로 프런트 엔드는 일치하지 않습니다. 관련 분야에 있어서는 먹기 위해 먹는다.
  • 다음과 같이 반환하는 것이 가장 좋습니다:
  • {"eat":["大米","小麦"],"drink":["水","茶"]}
    로그인 후 복사

18. 0777 디렉터리를 만들고 mkdir과 ​​chmod를 함께 사용하세요

mkdir을 사용하여 생성하는 것은 Windows에서는 문제가 없지만 mkdir을 사용하여 생성합니다. Linux에는 폴더가 나타납니다. 0777의 최대 권한이 없으므로 chmod 기능을 다시 사용해야 합니다(chmod 기능은 Linux에서 생성된 폴더의 권한이 부족한 상황을 위한 것입니다)
  • [{"name":"吃的","list":["大米","小麦"]},{"name":"喝的","list":["水","茶"]}]
    로그인 후 복사

19 . foreach

code
  • //若目录不存在则创建目录
    $filePath = '../file/20900101';
    if(@!file_exists($filePath)){
        mkdir($filePath, 0777, true);
        chmod($filePath, 0777);
    }
    로그인 후 복사
의 참조 할당
  • $temp = [
                [ 'id' => 1, 'name' => 'name1', 'age' => 'age1', 'time' => 'time1' ],
                [ 'id' => 2, 'name' => 'name2', 'age' => 'age2', 'time' => 'time2' ]
            ];
    
    # 清空原数据
    $data = $temp;
    foreach ($data as &$value){
        $value = [];
    }
    echo &#39;<pre class="brush:php;toolbar:false">&#39;;
    print_r($data);
    
    # 重置原数据
    $data = $temp;
    foreach ($data as &$value){
        $value = [
            &#39;hobby&#39; => 1
        ];
    }
    print_r($data);
    
    # 追加原数据
    $data = $temp;
    foreach ($data as &$value){
        $value[&#39;hobby&#39;] = 1;
    }
    print_r($data);
    로그인 후 복사

20, url Generator

Array
(
    [0] => Array
        (
        )

    [1] => Array
        (
        )

)
Array
(
    [0] => Array
        (
            [hobby] => 1
        )

    [1] => Array
        (
            [hobby] => 1
        )

)
Array
(
    [0] => Array
        (
            [id] => 1
            [name] => name1
            [age] => age1
            [time] => time1
            [hobby] => 1
        )

    [1] => Array
        (
            [id] => 2
            [name] => name2
            [age] => age2
            [time] => time2
            [hobby] => 1
        )

)
로그인 후 복사

21 쓰기 인터페이스 빈 배열 반환 개체 양식

    = =[]==, 강제로 해야하는지 여부는 실제 상황에 따라 다릅니다
  • $data为空时强转为 object类型后,json_encode的值是{}不强转的话则是
    public function test() {
    	$url = self::getUrl(&#39;http://www.test.com&#39;, [&#39;id&#39; => 3, &#39;other&#39; => &#39;好的&#39;]);
    	echo $url . &#39;<br>&#39;;     //打印:http://www.test.com?id=3&other=%E5%A5%BD%E7%9A%84
    	echo urldecode($url);   //打印:http://www.test.com?id=3&other=好的
    }
    
    public function getUrl($apiUrl, $param = []){
        $param = http_build_query($param);
        return $apiUrl . &#39;?&#39; . $param;
    }
    로그인 후 복사
    원본주소 : https://juejin.cn/post/6973956902094897189 (수시 업데이트)

    저자 : 의욕있는 동보 스노우이글

    추천 학습: "PHP 비디오 튜토리얼"

    위 내용은 수집할 가치가 있는 20가지 이상의 일반적인 PHP 팁(공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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