《PHP简答题大题(含答案)2》由会员分享,可在线阅读,更多相关《PHP简答题大题(含答案)2(9页珍藏版)》请在金锄头文库上搜索。
1、重 要 知 识 点 :1、 变 量 赋 值 方 式 有 哪 几 种 ?1) 直 接 赋 值 $str = 123;2) 变 量 间 赋 值$arr = array();$arr = 123;$arr = 456;$a;$a = 123;3) 引 用 赋 值$a = 123;$b = $a;2、 引 用 和 拷 贝 有 什 么 区 别 ?拷 贝 是 将 原 来 的 变 量 内 容 复 制 下 来 , 拷 贝 后 的 变 量 与 原 来 的 变 量 使 用 各 自 的 内 存 , 互 不干 扰 。引 用 相 当 于 是 变 量 的 别 名 , 其 实 就 是 用 不 同 的 名 字 访 问 同 一
2、 个 变 量 内 容 。 当 改 变 其 中 一个 变 量 的 值 时 , 另 一 个 也 跟 着 发 生 变 化 。3、 php中 变 量 有 哪 些 基 本 数 据 类 型 ?php支 持 8种 原 始 数 据 类 型 。包 括 :四 种 标 量 类 型 ( 布 尔 型 boolean, 整 型 interger, 浮 点 型 float/double, 字 符 串 string)两 种 复 合 类 型 (数 组 array , 对 象 object)两 种 特 殊 类 型 ( 资 源 resource, NULL)4、 其 它 类 型 转 换 为 boolean 类 型 时 , 哪 些
3、被 认 为 是 false?布 尔 值 false, 整 型 值 0, 浮 点 型 值 0.0, 空 白 字 符 串 , 字 符 串 0, 空 数 组 ,空 对 象 , 特 殊 数 据 类 型 NULL, 没 有 设 定 的 变 量 。empty()函 数 在 哪 些 情 况 下 返 回 true?布 尔 值 false, 整 型 值 0, 浮 点 型 值 0.0, 空 白 字 符 串 , 字 符 串 0,array()空 数 组 ,特 殊 数 据 类 型 NULL, 没 有 任 何 属 性 的 对 象 , 没 有 赋 值 的 变 量 。5、 常 量 和 变 量 有 哪 些 区 别 ?1) 常
4、 量 前 没 有 $符 号 ;2) 常 量 只 能 通 过 define()定 义 , 而 不 能 通 过 赋 值 语 句 定 义 ;3) 常 量 可 以 在 任 何 地 方 定 义 和 访 问 , 而 变 量 定 义 的 反 问 有 固 定 的 规 则 ;4) 常 量 一 旦 定 义 就 不 能 被 重 新 定 义 或 者 取 消 定 义 , 而 变 量 而 通 过 赋 值 方 式 重 新 定 义 ;5) 常 量 的 值 只 能 是 标 量 数 据 , 而 变 量 的 数 据 库 类 型 有 8 中 原 始 数 据 类 型 。6、 函 数 的 优 越 性 有 哪 些 ?提 高 程 序 的 可
5、 维 护 性提 高 软 件 的 可 靠 性提 高 程 序 的 可 重 用 性提 高 程 序 的 开 发 效 率7. 如 何 定 义 一 个 函 数 ? 函 数 名 区 分 大 小 写 吗 ?1) 使 用 function 关 键 字 ;2) 函 数 命 名 规 则 和 变 量 一 样 , 以 字 母 或 者 下 划 线 开 头 , 而 不 能 以 数 字 开 头 ;3) 函 数 名 不 区 分 大 小 写 ;4) 函 数 名 不 可 以 使 用 已 经 声 明 过 的 或 者 系 统 自 建 的 函 数 名 称 。8. 什 么 是 局 部 变 量 和 全 局 变 量 ? 函 数 内 是 否 可
6、 以 直 接 调 用 全 局 变 量 ?局 部 变 量 是 函 数 内 部 定 义 的 变 量 , 其 作 用 域 是 所 在 的 函 数 。 如 果 函 数 外 还 有 一 个 跟 局 部变 量 名 字 一 样 的 变 量 ,程 序 会 认 为 它 们 两 个 是 完 全 不 同 的 两 个 变 量 。 当 退 出 函 数 的 时 候 , 其 中 的 局 部 变 量 就 同时 被 清 除 。全 局 变 量 是 定 义 在 所 有 函 数 以 外 的 变 量 , 其 作 用 域 是 整 个 php文 件 , 但 是 在 用 户 自 定 义的 函 数 内 部 是 无 法 使 用 的 。如 果 一
7、 定 要 在 用 户 自 定 义 的 函 数 内 部 使 用 全 局 变 量 , 那 么 就 需 要 使 用 global关 键 字 声明 。 也 就 是 说 如 果 在 函 数 内 的 变 量 前 加 上 golbal 来 修 饰 , 那 么 函 数 内 部 就 可 以 访 问 到 这 个全 局 变 量 ,不 仅 可 以 利 用 这 个 全 局 变 量 进 行 运 算 而 且 可 以 对 这 个 全 局 变 量 进 行 重 新 赋 值 。全 局 变 量 还 可 以 使 用 $GLOBALSvar 来 调 用 。9. php中 函 数 传 递 参 数 的 方 式 有 哪 些 ? 两 者 有 什
8、 么 区 别 ?按 值 传 递 和 按 地 址 传 递 ( 或 按 引 用 传 递 )(1)按 值 传 递 、 待 传 递 的 变 量 , 与 传 递 给 函 数 之 后 的 变 量 是 存 储 在 不 同 的 空 间 中 。 所以 函 数 体 内 对 该 变 量 值 做 的 修 改 , 不 影 响 原 本 的 变 量 值 。(2)按 地 址 传 递 、 使 用 & 符 号 , 表 明 该 参 数 是 以 地 址 的 方 式 传 递 值 。 并 不 会 将 主 程 序中 的 指 定 数 值 或 目 标 变 量 传 递 给 函 数 , 而 是 把 该 数 值 或 变 量 的 内 存 储 存 区
9、块 地 址 导 入 函 数 之中 , 所 以 函 数 体 内 的 该 变 量 和 主 程 序 中 的 该 变 量 在 内 存 中 是 同 一 个 。 函 数体 做 的 修 改 , 直 接 影 响 到 函 数 体 外 部 的 该 变 量 的 值 。10. 控 制 流 程 语 句 有 哪 些 ?1: 三 种 程 序 结 构 顺 序 结 构 、 分 支 结 构 、 循 环 结 构2: 分 支 : if/else/elseif/ switch/case/default3、 switch 需 要 注 意 的 :case子 句 中 的 常 量 可 以 是 整 型 、 字 符 串 型 常 量 、 或 者 常
10、 量 表 达 式 , 不 允 许 是 变 量 。同 一 个 switch 子 句 中 , case的 值 不 能 相 同 , 否 则 只 能 取 到 首 次 出 现 case 中 的 值 。4、 循 环 for while do.whiledo.while 后 面 必 须 加 入 分 号 结 尾 。while 和 do.while 的 区 别5: break 和 continue 的 区 别 。break可 以 终 止 循 环 。continue没 有 break强 大 , 只 能 终 止 本 次 循 环 而 进 入 到 下 一 次 循 环 中 。11. 数 组 的 概 念 是 什 么 ? 数
11、 组 根 据 索 引 分 为 哪 两 种 , 如 何 区 分 ? 数 组 的 赋 值 方 式 有 哪 两 种 ?数 组 是 一 个 可 以 存 储 一 组 或 一 系 列 数 值 的 变 量 ( 复 合 型 变 量 )索 引 数 组 ( 索 引 值 为 数 字 , 以 0 开 始 ) 和 关 联 数 组 ( 以 字 符 串 作 为 索 引 值 )数 组 的 赋 值 方 式 有 哪 两 种 ?数 组 的 声 明 方 式 主 要 有 两 种 。1.通 过 array()函 数 声 明 数 组 ;可 以 通 过 key=value 的 方 式 分 别 定 义 索 引 和 值 , 也 可 以 不 定
12、义 数 组 的 索 引 下 标 ,只 给 出 数 组 的 元 素 值 。2.直 接 为 数 组 元 素 赋 值 ,不 需 要 调 用 array()函 数 。 例 如 :$arr0 = 1;$arr1 = 2;特 别 注 意 :数 组 的 下 标 如 果 是 等 价 于 整 数 的 字 符 串 值 ( 但 不 能 以 0 开 头 ) , 则 会 被 当 作 整 数 对 待 。例 如 : $array3 与 $array3 引 用 的 是 相 同 的 一 个 元 素 , 而 $array03引 用 的 则 就 是 另 外 的 一 个 元 素 了 。12.数 组 如 何 遍 历 ? for循 环$
13、arr = 123;$arr = 456;$arr = 789;for($i=0; $i; foreach 循 环 , 这 是 最 常 用 的 遍 历 方 式 。 用 法 如 下 : foreach($arr as$key=$value) list each 和 while 配 合 起 来 循 环13. foreach 数 组 的 时 候 指 针 是 如 何 指 向 的 ? list()/each()/while()循 环 数 组 的 时 候 指 针如 何 指 向 的 呢 ?当 foreach 开 始 执 行 的 时 候 , 数 组 内 部 的 指 针 会 自 动 指 向 第 一 个 单 元
14、。 因 为 foreach所 操 作 的 是 指 定 数 组 的 拷 贝 , 而 不 是 该 数 组 本 身 。而 each()一 个 数 组 后 , 数 组 指 针 将 停 留 在 数 组 中 的 下 一 个 单 元 或 者 碰 到 数 组 结 尾 时 停留 在 最 后 一 个 单 元 。 如 果 要 再 次 使 用 each()遍 历 数 组 , 必 须 要 使 用 reset().reset()将 数 组 的 内 部 指 针 倒 回 到 第 一 个 单 元 并 返 回 第 一 个 数 组 单 元 的 值 。14. 如 何 计 算 数 组 长 度 ( 或 者 说 计 算 数 组 中 所 有
15、 元 素 的 个 数 ) ? 字 符 串 怎 么 取 长 度 ?count() - 计 算 数 组 中 的 元 素 个 数 。可 以 使 用 count(数 组 名 )或 者 count(数 组 名 ,1),如 果 有 第 二 个 参 数 , 并 且 是 数 字 1, 则表 示 递 归 统 计 数 组 元 素 的 个 数 。如 果 第 二 个 参 数 是 数 字 0, 则 等 同 于 只 有 一 个 参 数 的 count()函 数 。sizeof() - count() 的 别 名字 符 串 : strlen()、 mb_strlen();15. 数 组 中 相 关 的 常 用 函 数 有
16、哪 些 ?1) count -( sizeof 别 名 ) 计 算 数 组 中 的 单 元 数 目 或 对 象 中 的 属 性 个 数例 如 : int count ( mixed $var , int $mode ) $var 通 常 都 是 数 组 类 型 , 任何 其 它 类 型 都 只 有 一 个 单 元 。 $mode 默 认 值 为 0. 1 为 开 启 递 归 地 对 数 组 计 数2) in_array ( mixed $needle , array $haystack , bool $strict ) 检 查 数组 中 是 否 存 在 某 个 值 。如 果 needle 是 字 符 串 , 则 比 较 是 区 分 大 小 写 的 。如 果 第 三 个 参 数 strict 的 值 为 TRUE 则 in_array() 函 数 还 会 检 查 needle 的类 型 是 否 和 haystack 中 的 相 同 。3)