Yahoo-PHP面试题1


Posted in 面试题 onJuly 20, 2016
1. 以下哪一句不會把 John 新增到 users 陣列?
* $users[] = ‘john’;
* array_add($users,’john’);
* array_push($users,‘john’);
* $users ||= ‘john’;

2. sort()、assort()、和 ksort() 有什麼分別?它們分別在什麼情況下使用?
3. 以下的代碼會產生什麼?為什麼?
$num = 10;
function multiply(){
$num = $num * 10;
}
multiply();
echo $num;

4. 一個 reference 跟一個正規的變量有什麼分別?如何 pass by reference?在什麼情況下我們需要這樣做?

5. 哪一些函式可以在現正執行的腳本中加入函式庫?

以下是 Matt Wilkin 提供的解答:

1. 以下哪一句不會把 John 新增到 users 陣列?

* $users[] = ‘john’;
成功把 John 新增到陣列 users。
* array_add($users,’john’);
函式 array_add() 無定義。
* array_push($users,‘john’);
成功把 John 新增到陣列 users。
* $users ||= ‘john’;
語法錯誤。

2. sort()、assort()、和 ksort() 有什麼分別?它們分別在什麼情況下使用?

* sort()
根據陣列中元素的值,以英文字母順序排序,索引鍵會由 0 到 n-1 重新編號。主要是當陣列索引鍵的值無關疼癢時用來把陣列排序。
* assort()
PHP 沒有 assort() 函式,所以可能是 asort() 的筆誤。
asort()
與 sort() 一樣把陣列的元素按英文字母順序來排列,不同的是所有索引鍵都獲得保留,特別適合替聯想陣列排序。
* ksort()
根據陣列中索引鍵的值,以英文字母順序排序,特別適合用於希望把索引鍵排序的聯想陣列。

3. 以下的代碼會產生什麼?為什麼? $num = 10;
function multiply(){
$num = $num * 10;
}
multiply();
echo $num;

由於函式 multiply() 沒有指定 $num 為全域變量(例如 global $num 或者 $_GLOBALS[num]),所以 $num 的值是 10。

4. 一個 reference 跟一個正規的變量有什麼分別?如何 pass by reference?在什麼情況下我們需要這樣做?

Reference 傳送的是變量的地址而非它的值,所以在函式中改變一個變量的值時,整個應用都見到這個變量的新值。
一個正規變量傳送給函式的是它的值,當函式改變這個變量的值時,只有這個函式才見到新值,應用的其他部分仍然見到舊值。

$myVariable = “its’ value”;
Myfunction(&$myVariable); // 以 reference 傳送參數

以 reference 傳送參數給函式,可以使函式改變了的變量,即使在函式結束後仍然保留新值。

5. 哪一些函式可以用來在現正執行的腳本中插入函式庫?
對這道題目不同的理解會有不同的答案,我的第一個想法是插入 PHP 函式庫不外乎 include()、include_once()、require()、require_once(),但細心再想,「函式庫」也應該包括 com 物件和 .net 函式庫,所以我們的答案也要分別包括 com_load 和 dotnet_load,下次有人提起「函式庫」的時候,別忘記這兩個函式。

Tags in this post...

面试题 相关文章推荐
神路信息Java面试题目
Mar 31 面试题
外企C语言笔试题
Nov 10 面试题
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
Oct 03 面试题
链表面试题-一个链表的结点结构
May 04 面试题
采用怎样的方法保证数据的完整性
Dec 02 面试题
武汉某公司的C#笔试题面试题
Dec 25 面试题
linux面试题参考答案(5)
Nov 05 面试题
Linux如何为某个操作添加别名
Feb 05 面试题
外包公司软件测试工程师
Nov 01 面试题
this关键字的作用
Jan 30 面试题
final, finally, finalize的区别
Mar 01 面试题
Ruby如何进行文件操作
Jul 17 面试题
PHP面试题附答案
Nov 28 #面试题
Yahoo的PHP面试题
May 26 #面试题
PHP数据运算类型都有哪些
Nov 05 #面试题
一套PHP的笔试题
May 31 #面试题
新浪网技术部笔试题
Aug 26 #面试题
如何处理简单的PHP错误
Oct 14 #面试题
PHP面试题及答案二
May 23 #面试题
You might like
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
基于JQuery的一个简单的鼠标跟随提示效果
2010/09/23 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
JavaScript实现按Ctrl键打开新页面
2014/09/04 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
Ant Design Vue 添加区分中英文的长度校验功能
2020/01/21 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
浅谈python多线程和队列管理shell程序
2015/08/04 Python
更换Django默认的模板引擎为jinja2的实现方法
2018/05/28 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
opencv 实现特定颜色线条提取与定位操作
2020/06/02 Python
房地产项目建议书
2014/03/12 职场文书
小学作文评语大全
2014/04/21 职场文书
伊索寓言教学反思
2014/05/01 职场文书
无刑事犯罪记录证明
2014/09/18 职场文书
情况说明书怎么写
2015/10/08 职场文书