日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

php的方向,PHP面试方向

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php的方向,PHP面试方向 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[TOC]

## 一些案例代碼

`dd()`函數

~~~

function dd($params)

{

echo "

";

print_r($params);

echo "

";

}

~~~

~~~

/**

* Created By basic

* Author: Virus

* Date: 2020/5/24

* Time: 18:02

*/

require 'func.php';

?

$str1 = 'yabadabadoo';

$str2 = 'yaba';

?

if (strpos($str1, $str2) !== false) {

echo $str1.'包含'.$str2."\n";

} else {

echo $str1.'不包含'.$str2.'\n';

}

?

$x = true and false;

var_dump($x);

?

dd($_SERVER['HTTP_USER_AGENT']);

?

echo function_exists('print');

echo false; ?// 空

?

echo "


";

?

$a = true;

echo gettype($a); ? // 輸出該變量的類型

echo is_string($a); // 先判斷是否是字符串,不是 => false ,echo false; 結果為空

?

echo "


";

?

$_1 = 12;

$_2 = 012; ?// 八進制的12

$_3 = 0x12; // 16進制的12

// 12 10 18 輸出是都會轉成十進制進行輸出

echo $_1."\t", $_2."\t", $_3;

?

echo "


";

?

/*

進制轉換

12

00010010

0 => 0

16 + 2 = 18

?

*/

?

// 字符串里面前面+時,取第一個數

echo 1 + 2 + "3 + 4 + 5"; // 6

?

echo "


";

?

dd(chr(65) == 'A'); // 1 true

?

echo ord('a'); ?// 97

?

echo "


";

?

// 如果說有一個沒有數組下標,那么它的下標就是它前面的下標中最大值+1

$arr1 = [1 => 5, 5 => 8, 22, 2 => '8', 81];

?

/**

* 上述數組結構

* Array

* (

* [1] => 5

* [5] => 8

* [6] => 22

* [2] => 8

* [7] => 81

* )

*/

?

dd($arr1);

?

echo "


";

?

echo 1 >> 0; // 001 => 1 往右移1位

echo 2 >> 1; // 010 => 001 => 1 往右移1位

echo 3 << 2; // 011 => 01100 => 1100 => 12 往左移動了2位

?

echo "


";

?

// 當心面試題中第二個表達式沒有美元符,則i永遠為0,是死循環

for ($i = 0; $i < 10; $i++) {

print $i;

}

?

echo "


";

?

function change()

{

static $i = 0;

$i++;

return $i;

}

?

print change(); // 1

print change(); // 2

?

echo "


";

?

// heredoc

$foo = 'test';

$bar = <<

$foo bar

EOT;

?

echo $bar; // test bar

?

?

$array = ['1', '1'];

foreach ($array as $k => $v) {

$v = 2; // 不會改變數組

// ? $array[$k] = 2; 會改變數組

}

?

dd($array);

~~~

## `crontab`定時任務語法

> 分 時 日 月 周 星期 執行的程序

>

> 案例: 一個備份程序`mybackup`,需要在周一到周五下午1點和晚上8點運行,命令如下:

~~~

0 13,20 * * 1,2,3,4,5 mybackup

// 或者

0 13,20 * * 1-5 mybackup

?

// 逗號是并且,-,是從什么到什么

~~~

## 字符串轉化為數組的方法

`str_split`、`explode`、`preg_split`

> 正則分割

~~~

$str ? ? = '2020-07_02';

// 正則分割

$str_arr = preg_split('/-|_/', $str);

dd($str_arr);

~~~

> `str_split`按長度分割

~~~

$str3 ? ? = '123456789';

$str3_arr = str_split($str3, 3);

dd($str3_arr);

/*

* 格式如下

Array

(

[0] => 123

[1] => 456

[2] => 789

)

*/

~~~

> `explode`按照具體的某個東西進行分割

~~~

$str4 ? ? = '1,2,3,4,5,6,7,8,9';

$str4_arr = explode(",", $str4);

dd($str4_arr);

~~~

~~~

Array

(

[0] => 1

[1] => 2

[2] => 3

[3] => 4

[4] => 5

[5] => 6

[6] => 7

[7] => 8

[8] => 9

)

~~~

## 字符串替換函數

`str_replace`、`preg_replace`

~~~

$str5 = 'linux is very much and php';

// php is very much and php

echo str_replace('linux', 'php', $str5);

// js is very much and js

echo preg_replace('/linux|php/', 'js', $str5);

~~~

## 字符串查找

`preg_mathc()`:正則匹配

`preg_match_all()`:正則匹配多個

`strpos()`: 第一個出現的位置

`strrpos()`:最后一個出現的位置

> 案例:將字符串`08/26/2003`替換為`2003-08-26`

~~~

$str6 ? ?= '08/26/2003';

$pattern = '/(\d+)\/(\d+)\/(\d+)/';

$rep ? ? = '$3-$1-$2';

$str6 ? ?= preg_replace($pattern, $rep, $str6);

dd($str6);

~~~

## SQL語句

案例1:從表`login`中選出`name`字段包含`admin`的前10條結果所有信息的sql語句

~~~

select * from login where name like "%admin%" limit 10;

~~~

**左連接** `left...join..on`

> 左連接是以左邊的表為主導,先輸出左邊的表的所有數據,右邊匹配輸出 ,不匹配的為`null`

**右連接** `right...join...on`

> 右連接是以右邊的表為主導,先輸出右邊的表的所有數據,左邊匹配輸出 ,不匹配的為`null`

**內連接** `inner...join...on`

> 內連接必須同時符合左右表條件的內容才會輸出,相等于普通多表查詢

**索引**

> 索引可以極大的提高表的查詢速度,是數據庫中最為重要的優化手段,索引最主要的作用就是降低掃描行數,常用索引分為三種:主鍵索引、唯一索引和普通索引

## 高效的從一個標準的`url`里取出文件的擴展名

~~~

$url ?= "http:www.lanp.com/web/index.php?id=10";

$arr2 = parse_url($url);

$arr3 = pathinfo($arr2['path']);

$ext ?= $arr2['extension'];

~~~

**$arr2**

~~~

Array

(

[scheme] => http

[path] => www.lanp.com/web/index.php

[query] => id=10

)

~~~

## 描述下大流量高并發網站的解決方案

1. 服務器負載均衡(多增加幾臺服務器同時對客戶提供網站服務)

2. `web`服務器用`nginx`替換`apache`(把其中的并發數調到最高)

3. 頁面靜態化

4. 數據緩存(`memcache,redis,tp文件緩存`)

5. 表索引

6. 數據庫實現主從復制,讀寫分離

7. 減少客戶在服務器上的連接斷開時間

8. 代碼優化

總結

以上是生活随笔為你收集整理的php的方向,PHP面试方向的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。