## 數組[‘a’, ‘b’, ‘c’] 轉換成字符串 ‘abc’
?
~~~
echo implode(‘’,[‘a’, ‘b’, ‘c’]);
echo join([‘a’, ‘b’, ‘c’],'');
?
?
~~~
?
## 獲取字符串’aAbB’中A首次出現的位置
?
~~~
$str=‘aAbB’;
echo strpos($str,"A");
?
?
?
~~~
?
## 編寫一段用最小代價實現將字符串完全反序, e.g. 將 “1234567890” 轉換成 “0987654321”.
?
~~~
(1)使用函數
echo strrev("Hello World!");
?
(2) 不使用函數
$s = '1234567890';
$o = '';
$i = 0;
while(isset($s[$i]) && $s[$i] != null) {
$o = $s[$i++].$o;
}
echo $o;
?
~~~
?
## 請用遞歸實現一個階乘求值算法 F(n): n=5;F(n)=5!=5*4*3*2*1=120
?
~~~
function F($n){
if($n==0){
return 1;
}else{
return $n* F($n-1);
}
}var_dump(F(5));
?
?
?
~~~
?
## 將字符長fang-zhi-gang 轉化為駝峰法的形式:FangZhiGang
?
//方法一
?
~~~
function Fun($str){
if(isset($str) && !empty($str)){
$newStr='';
if(strpos($str,'-')>0){
$strArray=explode('-',$str);
$len=count($strArray);
for ($i=0;$i<$len;$i++){
$newStr.=ucfirst($strArray[$i]);
}
}
return $newStr; }
}
?
?
?
~~~
?
//方法二
?
~~~
function Fun($str){
$arr1=explode('_',$str);
$str = implode(' ',$arr1);
return ucwords($str);
}
var_dump(Fun("fang-zhi-gang")); //FangZhiGang
?
?
?
~~~
?
## 數組內置的排序方法有哪些?
?
~~~
sort($array); //數組升序排序
rsort($array); //數組降序排序
asort($array); //根據值,以升序對關聯數組進行排序
ksort($array); //根據建,以升序對關聯數組進行排序
arsort($array); //根據值,以降序對關聯數組進行排序
krsort($array); // 根據鍵,以降序對關聯數組進行排序
?
?
~~~
?
可參考:(https://www.runoob.com/php/php-arrays-sort.html)
?
## 用PHP寫出顯示客戶端IP與服務器IP的代碼
?
~~~
$_SERVER["REMOTE_ADDR"]
$_SERVER["SERVER_ADDR"]
?
~~~
?
## PHP 不使用第三個變量實現交換兩個變量的值
?
~~~
?
list($b,$a)=array($a,$b);
var_dump($a,$b);
?
?
?
~~~
?
## 寫一個方法獲取文件的擴展名
?
~~~
//方法一
function get_extension($file){
return substr(strrchr($file,'.'), 1);
}
?
//方法二
function get_extension($file){
return end(explode('.', $file));
}
?
echo get_extension('fangzhigang.png'); //png
?
?
?
~~~
?
## 用PHP打印出前一天的時間格式是2017-3-22 22:21:21
?
~~~
$a = date("Y-m-d H:i:s", strtotime("-1 days"));
~~~
- 消息隊列
- 為什么要用消息隊列
- 各種消息隊列產品的對比
- 消息隊列的優缺點
- 如何保證消息隊列的高可用
- 如何保證消息不丟失
- 如何保證消息不會重復消費?如何保證消息的冪等性?
- 如何保證消息消費的順序性?
- 基于MQ的分布式事務實現
- Beanstalk
- PHP
- 函數
- 基礎
- 基礎函數題
- OOP思想及原則
- MVC生命周期
- PHP7.X新特性
- PHP8新特性
- PHP垃圾回收機制
- php-fpm相關
- 高級
- 設計模式
- 排序算法
- 正則
- OOP代碼基礎
- PHP運行原理
- zavl
- 網絡協議new
- 一面
- TCP和UDP
- 常見狀態碼和代表的意義以及解決方式
- 網絡分層和各層有啥協議
- TCP
- http
- 二面
- TCP2
- DNS
- Mysql
- 鎖
- 索引
- 事務
- 高可用?高并發?集群?
- 其他
- 主從復制
- 主從復制數據延遲
- SQL的語?分類
- mysqlQuestions
- Redis
- redis-question
- redis為什么那么快
- redis的優缺點
- redis的數據類型和使用場景
- redis的數據持久化
- 過期策略和淘汰機制
- 緩存穿透、緩存擊穿、緩存雪崩
- redis的事務
- redis的主從復制
- redis集群架構的理解
- redis的事件模型
- redis的數據類型、編碼、數據結構
- Redis連接時的connect與pconnect的區別是什么?
- redis的分布式鎖
- 緩存一致性問題
- redis變慢的原因
- 集群情況下,節點較少時數據分布不均勻怎么辦?
- redis 和 memcached 的區別?
- 基本算法
- MysqlNew
- 索引new
- 事務new
- 鎖new
- 日志new
- 主從復制new
- 樹結構
- mysql其他問題
- 刪除
- 主從配置
- 五種IO模型
- Kafka
- Nginx
- trait
- genergtor 生成器
- 如何實現手機掃碼登錄功能
- laravel框架的生命周期