人人车面试总结 | 人人车 面试

16. 五月 2016 个人 0

1)字符串判断

if ('abc' == 0) {
echo 'abc == 0'.PHP_EOL; // abc == 0
} else {
echo 'abc != 0'.PHP_EOL;
}

if ('3abc' == 0) {
echo '3abc == 0'.PHP_EOL;
} else {
echo '3abc != 0'.PHP_EOL; // 3abc != 0
}

if ('3abc' == 3) {
echo '3abc == 3'.PHP_EOL; // 3abc == 3
} else {
echo '3abc != 3'.PHP_EOL;
}

if ('3abc' == false) {
echo '3abc == true'.PHP_EOL;
} else {
echo '3abc !== false'.PHP_EOL; // 3abc == 3
}

2)引用判断

echo '无引用'. PHP_EOL;
$i = 1;
$arr = array(1,2,3);
foreach($arr as $i) {
$i++;
}

echo $i . PHP_EOL; // 4
echo json_encode($arr) . PHP_EOL; // [1,2,3]

echo '有引用'. PHP_EOL;
$i = 1;
$arr = array(1,2,3);
foreach($arr as &$i) {
$i++;
}

echo $i . PHP_EOL; // 4
echo json_encode($arr) . PHP_EOL; // [2,3,4]

echo '无引用,最后++'. PHP_EOL;
$i = 1;
$arr = array(1,2,3);
foreach($arr as $i) {
$i++;
}
$i++;
echo $i . PHP_EOL; // 5
echo json_encode($arr) . PHP_EOL; // [1,2,3]

echo '有引用,最后++'. PHP_EOL;
$i = 1;
$arr = array(1,2,3);
foreach($arr as &$i) {
$i++;
}
$i++;
echo $i . PHP_EOL; // 5
echo json_encode($arr) . PHP_EOL; // [2,3,5]

3)用php的array函数实现队列

class Deque
{
public $queue = array();

/**(尾部)入队 **/
public function addLast($value)
{
return array_push($this->queue,$value);
}
/**(尾部)出队**/
public function removeLast()
{
return array_pop($this->queue);
}
/**(头部)入队**/
public function addFirst($value)
{
return array_unshift($this->queue,$value);
}
/**(头部)出队**/
public function removeFirst()
{
return array_shift($this->queue);
}
/**清空队列**/
public function makeEmpty()
{
unset($this->queue);
}

/**获取列头**/
public function getFirst()
{
return reset($this->queue);
}

/** 获取列尾 **/
public function getLast()
{
return end($this->queue);
}

/** 获取长度 **/
public function getLength()
{
return count($this->queue);
}

}

$arr = array();

echo 'array_push -> array_pop'. PHP_EOL;
array_push($arr, '1');
array_push($arr, '2');
array_push($arr, '3');

// 堆栈
echo array_pop($arr). PHP_EOL; // 3
echo array_pop($arr). PHP_EOL; // 2
echo array_pop($arr). PHP_EOL; // 1

echo 'array_push -> array_shift'. PHP_EOL;
array_push($arr, '1');
array_push($arr, '2');
array_push($arr, '3');

// 队列
echo array_shift($arr). PHP_EOL; // 1
echo array_shift($arr). PHP_EOL; // 2
echo array_shift($arr). PHP_EOL; // 3

4)php开启错误日志
http://www.phperz.com/article/14/0910/22955.html

5)去掉index.php的方法
try_files $uri $uri/ /index.php?$args;

6)swap的开启时间
http://blog.itpub.net/29371470/viewspace-1250975

7)nginx的log日志格式分析
http://coolnull.com/62.html

8)修改phpsession默认名称
修改session_name
直接修改 php.ini 找到 session.name = PHPSESSID , 改为 session.name = 自定义名称

9)sed用法
http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html

10)awk用法
http://blog.sina.com.cn/s/blog_7b9ace5301014q8o.html

11)PDO和MYSQLi的区别
http://blog.csdn.net/yipiankongbai/article/details/17277477


发表评论

电子邮件地址不会被公开。 必填项已用*标注