20 petua PHP biasa yang patut dikumpulkan (kongsi)

青灯夜游
Lepaskan: 2023-04-10 12:48:01
ke hadapan
2480 orang telah melayarinya

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:*');    //跨域
}
Salin selepas log masuk

2. . json_encode bahasa Cina tidak mengubah kod

die( json_encode( $result,JSON_UNESCAPED_UNICODE ) );
Salin selepas log masuk

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);
Salin selepas log masuk

5. Penggunaan senarai

ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
Salin selepas log masuk

6 Penggunaan array_column()

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

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 => '七十七',)
Salin selepas log masuk
  • 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' => '七十七', ), 
 )*/
Salin selepas log masuk

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,
)
*/
Salin selepas log masuk

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'
Salin selepas log masuk

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);
Salin selepas log masuk

12. Pembolehubah pemisah baris PHP_EOL

$num = "13711111111";
$str = substr_replace($num,'****',3,4);
Salin selepas log masuk

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不存在
Salin selepas log masuk

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 = &#39;南山区&#39;;
$lastChar = mb_substr($distName, -1);
if($lastChar==&#39;区&#39;){
    $lastChar = mb_substr($distName, 0, -1);
}
echo $lastChar;
Salin selepas log masuk
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":["水","茶"]}
Salin selepas log masuk
  • 18. Buat direktori 0777 dan chmod bersama-sama

[{"name":"吃的","list":["大米","小麦"]},{"name":"喝的","list":["水","茶"]}]
Salin selepas log masuk
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 = &#39;../file/20900101&#39;;
if(@!file_exists($filePath)){
    mkdir($filePath, 0777, true);
    chmod($filePath, 0777);
}
Salin selepas log masuk

Cetak

20. penjana url
$temp = [
            [ &#39;id&#39; => 1, &#39;name&#39; => &#39;name1&#39;, &#39;age&#39; => &#39;age1&#39;, &#39;time&#39; => &#39;time1&#39; ],
            [ &#39;id&#39; => 2, &#39;name&#39; => &#39;name2&#39;, &#39;age&#39; => &#39;age2&#39;, &#39;time&#39; => &#39;time2&#39; ]
        ];

# 清空原数据
$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);
Salin selepas log masuk
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
        )

)
Salin selepas log masuk

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;
}
Salin selepas log masuk
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!

Label berkaitan:
php
sumber:掘金--有上进心的东伯雪鹰
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!