Rumah  >  Artikel  >  pembangunan bahagian belakang  >  20 petua PHP biasa yang patut dikumpulkan (kongsi)

20 petua PHP biasa yang patut dikumpulkan (kongsi)

青灯夜游
青灯夜游ke hadapan
2021-07-29 18:47:172507semak imbas

Artikel ini akan berkongsi dengan anda beberapa teknik dan kaedah yang biasa digunakan dalam pembangunan PHP sebenar, supaya semua orang boleh meluangkan lebih banyak masa untuk memancing. Datang dan kumpulkan dan pelajari!

20 petua PHP biasa yang patut dikumpulkan (kongsi)

1 Menyelesaikan masalah merentas domain

public function __construct()
{
    parent::__construct();
    header('Access-Control-Allow-Origin:*');    //跨域
}

2. . json_encode bahasa Cina tidak mengubah kod

die( json_encode( $result,JSON_UNESCAPED_UNICODE ) );

3. 🎜> 4 Jika gesaan ralat dimatikan dalam php.ini pada pelayan Linux, hasilnya akan menjadi 406, 500. Cetak mesej ralat.

$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. Penggunaan senarai

ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);

6 Penggunaan array_column()

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

array_column() digunakan dengan array_combine()

$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 Nyahduplikasi tatasusunan satu dimensi, padamkan 0, batal dan tetapkan semula indeks
$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 dan minit Saat

$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,
)
*/

Tukar saat kepada jam, minit dan saat, fungsi gmstrftime, Walau bagaimanapun, fungsi ini terhad kepada menukar saat dalam masa 24 jam

.
  • 9. Antara muka kembali
$r = gmstrftime('%H:%M:%S',(3600*23)+123);
var_export($r);
//输出: '23:02:03'

Antara muka mengembalikan 1 secara normal dan -1 secara tidak normal. Jika data kosong, ia adalah 1; -1 adalah pengecualian parameter atau ralat logik.

    10.

11. Sembunyikan 4 digit tengah nombor telefon bimbit anda.

round($x, 2);

12. Pembolehubah pemisah baris PHP_EOL

$num = "13711111111";
$str = substr_replace($num,'****',3,4);

Senario penggunaan: Pemisahan baris yang kecil sebenarnya membuat perbezaan Platform mempunyai pelaksanaan yang berbeza. Pada asalnya, /n digunakan untuk menggantikan pemisah baris dalam dunia Unix, tetapi untuk menggambarkan perbezaannya, Windows menggunakan /r/n Apa yang lebih menarik ialah /r digunakan dalam Mac. PHP_EOL ialah pembolehubah yang telah ditakrifkan dalam php, mewakili aksara baris baharu php.

Pembolehubah ini akan berubah mengikut platform Ia akan menjadi /r/n di bawah windows, /n di bawah linux dan /r di bawah mac.

13 PHP menentukan sama ada kunci tatasusunan wujud isset(), array_key_exists(), kosong()

14. Import fail js dengan parameter?_=1553829159194

$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不存在

Kadang-kadang terdapat parameter sedemikian selepas beberapa alamat?_=1553829159194>http://***/index/index?_=1553829159194

Tambah cap masa selepas url untuk memastikan url berubah setiap kali, supaya ia tidak Membaca cache penyemak imbas.

    15. Alat ujian antara muka
Alat ujian antara muka yang disyorkan posmen

16 Jika perkataan terakhir ialah "区", padamkannya.

17. Andaikan kandungan halaman adalah seperti berikut:

$distName = '南山区';
$lastChar = mb_substr($distName, -1);
if($lastChar=='区'){
    $lastChar = mb_substr($distName, 0, -1);
}
echo $lastChar;
Struktur data dikembalikan oleh latar belakang:

tidak begitu baik, jadi bahagian hadapan perlu sesuai dengan bidang yang berkaitan, makan adalah untuk makan;
Sebaik-baiknya kembali seperti ini:
{"eat":["大米","小麦"],"drink":["水","茶"]}
  • 18. Buat direktori 0777 dan chmod bersama-sama

[{"name":"吃的","list":["大米","小麦"]},{"name":"喝的","list":["水","茶"]}]
Mencipta folder dengan mkdir dalam Windows tiada masalah, tetapi menggunakan mkdir untuk mencipta folder dalam Linux akan mengakibatkan situasi di mana kebenaran maksimum ialah 0777; jadi anda perlu menggunakan fungsi chmod sekali lagi (fungsi chmod adalah untuk keizinan yang tidak mencukupi untuk mencipta folder dalam Linux)

19 >
Kod
//若目录不存在则创建目录
$filePath = '../file/20900101';
if(@!file_exists($filePath)){
    mkdir($filePath, 0777, true);
    chmod($filePath, 0777);
}

Cetak

20. penjana url
$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 'e03b848252eb9375d56be284e690e873';
print_r($data);

# 重置原数据
$data = $temp;
foreach ($data as &$value){
    $value = [
        'hobby' => 1
    ];
}
print_r($data);

# 追加原数据
$data = $temp;
foreach ($data as &$value){
    $value['hobby'] = 1;
}
print_r($data);
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 Antara muka penulisan tatasusunan kosong mengembalikan bentuk objek

<.> kosong. Apabila jenis
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;
}
kosong, nilai

Ya , ==[]==, sama ada perlu dipaksa bergantung pada situasi sebenar

  • Alamat asal: https://juejin.cn/post/ 6973956902094897189 (dikemas kini dari semasa ke semasa) $data强转为  objectPengarang: Helang Salji Dongbo yang bermotivasijson_encode

    Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci 20 petua PHP biasa yang patut dikumpulkan (kongsi). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:掘金--有上进心的东伯雪鹰. Jika ada pelanggaran, sila hubungi admin@php.cn Padam