Rumah > Artikel > pembangunan bahagian belakang > 20 petua PHP biasa yang patut dikumpulkan (kongsi)
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!
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 => '七十七',)
$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
.$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.
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.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;
{"eat":["大米","小麦"],"drink":["水","茶"]}
[{"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 >
//若目录不存在则创建目录 $filePath = '../file/20900101'; if(@!file_exists($filePath)){ mkdir($filePath, 0777, true); chmod($filePath, 0777); }
Cetak
$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 jenispublic function test() { $url = self::getUrl('http://www.test.com', ['id' => 3, 'other' => '好的']); echo $url . '<br>'; //打印: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 . '?' . $param; }kosong, nilai
Ya , ==[]==, sama ada perlu dipaksa bergantung pada situasi sebenar
$data
强转为 object
Pengarang: 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!