Cet article partagera avec vous quelques techniques et méthodes couramment utilisées dans le développement PHP réel, afin que tout le monde puisse passer plus de temps à pêcher. Venez collectionner et apprendre !
1. Résoudre les problèmes inter-domaines
public function __construct() { parent::__construct(); header('Access-Control-Allow-Origin:*'); //跨域 }
2. json_encode Le chinois ne transcode pas
die( json_encode( $result,JSON_UNESCAPED_UNICODE ) );
3. $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);
ini_set("display_errors", "On");
error_reporting(E_ALL | E_STRICT);
//list使用
public function test(){
list($name, $sex) = $this->getInfo();
echo "姓名:{$name},性别:{$sex}";
}
public function getInfo(){
return ['张三', '男'];
}
//输出:姓名:张三,性别:男
$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' => '七十七', ), )*/
$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,
)
*/
Convertissez les secondes en heures, minutes et secondes,
gmstrftime.$r = gmstrftime('%H:%M:%S',(3600*23)+123); var_export($r); //输出: '23:02:03'
L'interface renvoie 1 normalement et -1 anormalement. Si les données sont vides, c'est 1 ; -1 est une exception de paramètre ou une erreur logique.
round($x, 2);
$num = "13711111111";
$str = substr_replace($num,'****',3,4);
Scénarios d'utilisation : Un petit saut de ligne a en fait différentes implémentations sur différentes plates-formes.
À l'origine, /n est utilisé pour remplacer les sauts de ligne dans le monde Unix, mais afin de refléter la différence, Windows utilise /r/n. Ce qui est plus intéressant, c'est que /r est utilisé sous Mac. PHP_EOL est une variable qui a été définie en php, représentant le caractère de nouvelle ligne de php. Cette variable changera selon la plateforme. Elle sera /r/n sous windows, /n sous linux, et /r sous mac. 13. PHP détermine si la clé du tableau existe isset(), array_key_exists(), empty()$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不存在
Parfois, il y a. un tel paramètre derrière certaines adresses ?_=1553829159194
http://***/index/index?_=1553829159194
Facteur d'outil de test d'interface recommandé
$distName = '南山区';
$lastChar = mb_substr($distName, -1);
if($lastChar=='区'){
$lastChar = mb_substr($distName, 0, -1);
}
echo $lastChar;
La structure des données renvoyée par l'arrière-plan :
{"eat":["大米","小麦"],"drink":["水","茶"]}
[{"name":"吃的","list":["大米","小麦"]},{"name":"喝的","list":["水","茶"]}]
Créer avec mkdir ne pose aucun problème sous Windows, mais utiliser mkdir pour créer un dossier apparaîtra sous Linux Il n'y a pas d'autorisation maximale de 0777 ; vous devez donc utiliser à nouveau la fonction chmod (la fonction chmod est destinée à la situation où les autorisations du dossier créé sous Linux sont insuffisantes)
//若目录不存在则创建目录 $filePath = '../file/20900101'; if(@!file_exists($filePath)){ mkdir($filePath, 0777, true); chmod($filePath, 0777); }
code
$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 '<pre class="brush:php;toolbar:false">'; 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 ) )
public 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;
}
= =[]==, la nécessité de le forcer dépend de la situation réelle
$data = $data ? $data : (object)$data;
$data
为空时强转为 object
类型后,json_encode
的值是{}
,不强转的话则是
Adresse originale : https://juejin.cn/post/6973956902094897189 (mise à jour de temps en temps)Auteur : Le Dongbo motivé Aigle des neiges
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!