php面试题

面试题1: 反转字符串

编写一个PHP函数,接受一个字符串参数,并返回该字符串的反转版本。

php 复制代码
<?php
function reverseString($str) {
    return strrev($str);
}

// 测试示例
$string = "Hello, World!";
$reversedString = reverseString($string);
echo $reversedString;
?>

面试题2: 判断回文数

编写一个PHP函数,接受一个整数参数,并判断该整数是否是回文数(正序和倒序读都一样)。

php 复制代码
<?php
function isPalindrome($num) {
    $reversedNum = (int) strrev((string) $num);
    return $num === $reversedNum;
}

// 测试示例
$num = 12321;
if (isPalindrome($num)) {
    echo "Palindrome";
} else {
    echo "Not a Palindrome";
}
?>

面试题3: 求两个数的最大公约数

编写一个PHP函数,接受两个正整数参数,并返回它们的最大公约数。

php 复制代码
<?php
function gcd($a, $b) {
    while ($b != 0) {
        $temp = $b;
        $b = $a % $b;
        $a = $temp;
    }
    return $a;
}

// 测试示例
$num1 = 36;
$num2 = 48;
$gcd = gcd($num1, $num2);
echo $gcd;
?>

面试题4: 统计字符串中的单词数

编写一个PHP函数,接受一个字符串参数,并返回该字符串中的单词数。

php 复制代码
<?php
function countWords($str) {
    $wordCount = str_word_count($str);
    return $wordCount;
}

// 测试示例
$string = "This is a sample sentence.";
$wordCount = countWords($string);
echo $wordCount;
?>

面试题5: 获取数组中的最大值和最小值

编写一个PHP函数,接受一个整数数组参数,并返回数组中的最大值和最小值。

php 复制代码
<?php
function getMinMax($arr) {
    $min = min($arr);
    $max = max($arr);
    return array($min, $max);
}

// 测试示例
$array = array(5, 2, 9, 1, 7);
$result = getMinMax($array);
print_r($result);
?>

面试题6: 将字符串转换为数组

编写一个PHP函数,接受一个以逗号分隔的字符串参数,并将其转换为数组。

php 复制代码
<?php
function convertToArray($str) {
    $array = explode(',', $str);
    return $array;
}

// 测试示例
$string = "apple,banana,orange";
$array = convertToArray($string);
print_r($array);
?>

面试题7: 计算阶乘

编写一个PHP函数,接受一个正整数参数,并计算其阶乘。

php 复制代码
<?php
function factorial($num) {
    if ($num == 0) {
        return 1;
    } else {
        return $num * factorial($num - 1);
    }
}

// 测试示例
$num = 5;
$result = factorial($num);
echo $result;
?>

面试题8: 判断素数

编写一个PHP函数,接受一个正整数参数,并判断该数是否是素数。

php 复制代码
<?php
function isPrime($num) {
    if ($num <= 1) {
        return false;
    }
    
    for ($i = 2; $i <= sqrt($num); $i++) {
        if ($num % $i == 0) {
            return false;
        }
    }
    
    return true;
}

// 测试示例
$num = 17;
if (isPrime($num)) {
    echo "Prime";
} else {
    echo "Not Prime";
}
?>

面试题9: 判断闰年

编写一个PHP函数,接受一个年份参数,并判断该年份是否是闰年。

php 复制代码
<?php
functionisLeapYear($year) {
    if ($year % 4 == 0 && ($year % 100 != 0 || $year % 400 == 0)) {
        return true;
    } else {
        return false;
    }
}

// 测试示例
$year = 2024;
if (isLeapYear($year)) {
    echo "Leap Year";
} else {
    echo "Not a Leap Year";
}
?>

面试题10: 生成随机验证码

编写一个PHP函数,生成一个包含数字和字母的随机验证码。

php 复制代码
<?php
function generateRandomCode($length) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $code = '';
    
    for ($i = 0; $i < $length; $i++) {
        $code .= $characters[rand(0, strlen($characters) - 1)];
    }
    
    return $code;
}

// 测试示例
$codeLength = 6;
$randomCode = generateRandomCode($codeLength);
echo $randomCode;
?>
相关推荐
Jelena157795857922 小时前
电商运营分析数据比价接口实战:多平台价格监控与智能决策系统
java·大数据·数据库
触底反弹3 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen3 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
wdfk_prog3 小时前
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
linux·开发语言·面试·架构
神明不懂浪漫3 小时前
【第五章】Java中的继承与多态
java·开发语言
神州世通4 小时前
解密企业通信安全防线:Avaya Aura 三层安全架构深度解析
开发语言·php
AC赳赳老秦5 小时前
企业工商公开信息采集分析:OpenClaw 批量查询企业工商信息,生成企业画像报告
大数据·开发语言·python·自动化·php·deepseek·openclaw
AI多Agent协作实战派5 小时前
AI多Agent协作系统实战(十七):凌晨4点,我的AI系统在“假装工作“——3个bug同时爆炸的5小时
java·前端·bug
gaolei_eit5 小时前
Java+Ai+vue
java·spring·maven
qq_2518364575 小时前
基于java Web 动漫视频网站毕业论文
java·开发语言·前端