热点
索引策略设计:从漏洞到搜索安全屏障,reasoning_content:我们要求以界面设计师的口吻写一个与技术、科技相关,关于[从漏洞到修复:索引策略构建搜索优化安全屏障]的标题直接输出一个标题,30字以内,简短精炼nn注意:界面设计师的口吻,可能意味着从界面设计角度,但主题是技术安全可以结合设计视角,比如视觉化漏洞修复或者设计索引安全屏障但必须紧扣从漏洞到修复:索引策略构建搜索优化安全屏障这个核心nn可能的漏洞修复索引策略,设计安全屏障或者从漏洞到安全屏障:索引策略设计但字数要控制nn简洁方案:索引策略:从漏洞到搜索安全屏障 但不够设计师口吻nn考虑加入界面、可视化等词但主题是技术,不要太偏设计最好平衡nn设计索引安全屏障:漏洞修复与搜索优化 字数超?数一下:设计索引安全屏障:漏洞修复与搜索优化 (共14字?设计2+索引2+安全2+屏障2+:1+漏洞2+修复2+与1+搜索2+优化2 = 18字) 可以nn但更精确:索引策略:从漏洞到安全屏障的搜索优化 15字nn或者从漏洞到修复:索引策略构建搜索安全屏障 18字,但缺少设计师口吻可改为设计师视角:索引策略构建搜索安全屏障 但偏离了从漏洞到修复nn最终决定:漏洞修复索引策略:构建搜索安全屏障设计 15字或者从漏洞到屏障:索引策略优化搜索安全 13字nn我倾向于:索引策略:从漏洞到搜索安全屏障 13字,简洁但从漏洞到搜索安全屏障缺少修复nn考虑到要求直接输出,不说明我选择:从漏洞到修复:索引策略构建安全屏障 16字也可以nn最佳:索引策略构建搜索优化安全屏障 12字,但缺少从漏洞到修复不过原文主题已经包含nn为了体现设计师口吻,可以加设计:索引策略设计:从漏洞到搜索安全屏障 15字nn我认为这样不错最终输出
功能测试工程师把关:移动互联应用织就万物互联新篇章,reasoning_content:我们要求以功能测试工程师的口吻写一个与技术、科技相关的标题,主题是[移动互联:从应用启航,织就智能时代万物相连新篇章]注意要简短精炼,30字以内,直接输出标题,不要加说明nn功能测试工程师的口吻:专业、严谨、关注质量、测试、验证、功能正确性等可以从测试角度出发,比如“验证”、“确保”、“把关”、“精准测试”等结合移动互联、万物互联、智能时代等关键词nn示例:功能测试工程师:护航移动互联,织就万物互联新篇章 但有点长需要更精炼可以考虑:“测试把关:移动互联启航,万物相连新篇”或者“精准测试:移动互联应用开启万物互联新时代”注意控制在30字以内nn更直接:作为功能测试工程师,标题可以突出测试在移动互联中的作用比如:功能测试工程师:为移动互联应用织就万物互联安全网 有点长nn最终思考:用“功能测试工程师的视角:移动互联应用测试,织就万物互联新篇章” 但超过30字nn简化:测试护航:移动互联启万物互联新时代 或 功能测试:移动互联应用,万物相连新章nn更准确:因为要求以“功能测试工程师”的口吻,标题本身可以是第一人称或直接点明身份比如:“我作为功能测试工程师:移动互联应用测试开启万物互联新篇章” 太长nn最好直接一个短语,如:“功能测试工程师:移动互联应用,万物互联新篇章”字数:14个字?实际计算:“功能测试工程师:移动互联应用,万物互联新篇章” 共20个字?中文:功能测试工程师:移动互联应用,万物互联新篇章(去掉冒号后面空格:功能测试工程师:移动互联应用,万物互联新篇章)共17个字符?功能(2)测试(2)工程(2)师(1):移动(2)互联(2)应用(2),(1)万物(2)互联(2)新(1)篇章(2)总计2+2+2+1+1+2+2+2+1+2+2+1+2=24?仔细数:功(1)能(1)测(1)试(1)工(1)程(1)师(1):(1)移(1)动(1)互(1)联(1)应(1)用(1),(1)万(1)物(1)互(1)联(1)新(1)篇(1)章(1) = 24个字符,但中文每个字一个字符,所以是24个字加上标点共25个?标点算一个字符所以25个字符,在30以内nn但更精炼:“功能测试人:移动互联应用,织就万物相连” 或 “测试工程师:移动互联应用开启万物互联”但原要求“功能测试工程师”,不能简化为“测试工程师”吧?最好保留全称nn另一个想法:用动词,如“把关”、“验证”等例如:“功能测试工程师把关:移动互联应用织就万物互联新篇章” 共?功能(2)测试(2)工程(2)师(1)把关(2):(1)移动(2)互联(2)应用(2)织就(2)万物(2)互联(2)新(1)篇章(2) = 2+2+2+1+2+1+2+2+2+2+2+2+1+2=27字?数一下:功、能、测、试、工、程、师、把、关、:、移、动、互、联、应、用、织、就、万、物、互、联、新、篇、章共25个汉字加一个冒号,26个字符可以nn但更生动:“我作为功能测试工程师:移动互联应用,万物互联新篇” 有点啰嗦nn最终输出一个标题注意不要加任何多余文字
16 9 月 2026, 周三

这篇文章主要介绍了PHP学习记录之数组函数,php中的数组是一个有序映射,数组可以接受任意数量用逗号分隔符的键值对,下面结合代码实例给大家接受,感兴趣的朋友一起看看吧。
 
数组
 
php中的数组是一个有序映射,映射是一种把values关联到keys的类型,数组可以接受任意数量用逗号分隔符的键值对。
 
数组的介绍
 
 * php中数组可以分为:
 
* 索引数组:下标是数字
 
* 关联数组:下标是字符串
 
* 注:php中数组其实不区分索引还是关联数组,都是根据键名找到对应的值
 
* php可以同时包含integer和string类型的键名
 
* key:可以是一个整数integer或者字符串string
 
* value:可以是任意类型的值
 
* php中的key只能是integer或这string类型,如果使用其他类型会自动转换:
 
* 1. 包含有合法整型值的字符串会被自动转换成整型(如'8'会被转换为8,但是'08'不会被转换)
 
* 2. 浮点数会被转换成整型,小数部分会被舍去
 
* 3. 布尔值会被转换成整型(true转成1,false转成0)
 
* 4. NULL会被转换成空字符串,即''
 
* 5. 数组和对象不能被用为键名
 
* 如果数组定义中多个单元都用了同一个键名,则只会使用最后一个,之前的值都会被覆盖
 
* 如果没有指定键名,且键名不都为负数,新添加的元素的键名是已有键名的最大值+1
 
* 如果键名都为负数,那么新添加的元素键名从0开始
 
数组的创建
 
$arr1 = array(); //创建一个空数组
$arr2 = array(1, 2, 3); //创建一个索引数组
$arr3 = array( //创建一个关联数组
  'a' => 'a_value',
  'b' => 'b_value',
  'c' => 'c_value'
);
$arr4 = []; //[]用法和array()一致,同样可以创建空数组、索引数组、关联数组
$arr4[] = 'a'; //利用[]对数组进行扩展,为数组新添元素
键名类型的自动转换
 
$arr = array(
  1 => 'a',      //1   键名为integer类型,不会自动转换
  'b' => 'b',     //'b'  键名为string类型,不会自动转换
  '8' => 'c',     //8   包含有合法整型值的字符串会自动转换成整型
  3.5 => 'd',     //3   键名为浮点数类型,会舍去小数,转换成integer类型
  true => 'e',    //1   键名为布尔类型,true转成1,false转成0
  null => 'f',    //''  键名为NULL类型,会转成''
  'g'         //9   没有指定键名,默认为已有最大健名的值+1
);
$arr[] = 'h';      //10  新添加一个健值对,没有指定键名,默认为已有最大健名的值+1
print_r($arr); //printf_r()是数组输出专用函数
通过range()和compact()快速创建
 
//range()快速创建下标连续的索引数组
///*
 * range()函数
 * array range(mixed $start, mixed $limit[, number $step=1])
 * 描述:建立一个包含指定范围单元的,且下标连续的索引数组
 * start:序列的第一个值
 * limit:序列结束于limit的值
 * step:如果给出了step的值,它将被作为单元之间的步进值,如果未指定,默认为1
 *
 * 补充:
 * string chr(int $value):将数字作为ASCII转成成字符
 * int ord(string $value):输出字符的ASCII
 */
$arr = range(1, 5);
print_r($arr); //Array([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5)
$arr = range('a', 'b', 'c');
print_r($arr); //Array([0] => a [1] => b [2] => c)
echo chr(90), "\n"; //Z
echo ord('z'), "\n"; //122
//compact()快速创建关联数组
/*
 * compact()函数
 * array compact(mixed $varname[, mixed $…])
 * 描述:建立一个数组,包括变量名和它们的值
 *
 * 补充:
 * list($var1, $var2…):将数组中的值赋给一些变量
 */
$username = 'zhao';
$age = '22';
$email = 'wangzhao_hb@126.com';
$arr = compact('username', 'age', 'email'); //通过将已有变量名放在函数中快速生成关联数组
//Array([username] => zhao [age] => 22 [email] => wangzhao_hb@126.com)
print_r($arr);
list($a, $b, $c) = array(1, 2, 3);
echo "a的值为{$a}, b的值为{$b}, c的值为{$c}", "\n";  //a的值为1, b的值为2, c的值为3
通过const和define()定义常量数组
 
const ARR1 = [1, 2, 3]; //const定义常量数组
print_r(ARR1); //Array([0] => 1 [1] => 2 [2] => 3)
define('ARR2', [1, 2, 3]); //define()定义常量数组
print_r(ARR2); //Array([0] => 1 [1] => 2 [2] => 3)
//运用场景:自定义文件上传错误数组信息
define('CUSTOM_UPLOAD_ERRORS', [
  'ext_error' => '文件扩展名不符合规范',
  'maxsize' => '上传文件大小不符合规范'
]);
//遇到文件上传时扩展名不符合规范的时候,可调用报错
echo CUSTOM_UPLOAD_ERRORS['ext_error'], "\n";  //文件扩展名不符合规范
数组的使用
 
/*
 * => 通过键名找到对应的键值
 * 增、删、改、查
 */
//查找:通过键名找到对应的键值
$arr1 = ['a', 'b', 'c', 'd'];
$arr2 = [
  'username' => '王昭',
  'sex' => '男'
];
echo '下标为2的值:', $arr1[2], "\n"; //下标为2的值:c
echo '用户名为:',$arr2['username'], "\n"; //用户名为:王昭
$arr3 = [ //二位数组的查找
  ['id'=>'1001', 'name'=>'张三'],
  ['id'=>'1002', 'name'=>'李四']
];
echo '下标为0的姓名:', $arr3[0]['name'], "\n"; //下标为0的姓名:张三
//添加
$arr = ['a', 'b', 'c'];
$arr[] = 'd'; //添加元素,不指定键名,键名为数字
$arr['username'] = '王昭'; //添加元素,指定键名,键名为字符串
print_r($arr); //Array([0] => a [1] => b [2] => c [3] => d [username] => 王昭)
//修改
$arr = ['a', 'b', 'c', 'username'=>'王昭'];
$arr['username'] = '张三';
echo $arr['username'], "\n"; //张三
//删除
unset($arr['username']); //删除键名为'username'的键值对
print_r($arr); //Array([0] => a [1] => b [2] => c)
unset($arr[1]);
print_r($arr); //Array([0] => a [2] => c)
unset($arr); //释放数组
//print_r($arr); //输出错误 Notice: Undefined variable
其他类型转换成数组
 
/*
 * 如果将一个值转换为数组,将得到一个仅有一个元素的数组,其下标为0,该元素即为此标量的值;
 * 对象可以转换为数组,但是注意尽量避免这样转换,因为会导致一些意想不到的效果。
 * 注意:null转换成数组是空数组[]
 *
 * 临时转换
 * (array)$var
 *
 * 永久转换
 * settype($var, 'array')
 */
$str = 'abc';
$arr = (array)$str;
print_r($arr); //Array([0] => abc)
settype($str, 'array');
print_r($str); //Array([0] => abc)
数组运算符
 
/*
 * 常用的数组运算符:
 * +:合并数组,如果键名相同,只展示左边数组的键值对
 * ==:比较数组的键名和对应的键值是否相同,如果相同返回true,否则返回false
 * ===:既要比较键名和对应的键值及键值类型是否相同,而且顺序也要相同
 * !=:比较数组的键名和对应的键值是否不相同
 * !==:比较数组的键名和对应的键值和键值类型是否不相同,或者顺序不相同
 * <>:和!=效果一样
 *
 *
 */
$arr1 = [1, 2, 3];
$arr2 = ['a', 'b', 'c'];
$arr3 = ['username'=>'张三', 'age'=>12];
$arr4 = [10=>10, 11=>11];
$arrSum1 = $arr1 + $arr2; //如果键名相同,只会展示左边数组的键值对
$arrSum2 = $arr1 + $arr3; //+与数组是索引数组或者是关联数组无关
$arrSum3 = $arr1 + $arr3 + $arr4; //如果后面的数组的键名和前面的数组的键名重复,不会覆盖,会展示前面数组对应的键值
print_r($arrSum1); //Array([0] => 1 [1] => 2 [2] => 3)
print_r($arrSum2); //Array([0] => 1 [1] => 2 [2] => 3 [username] => 张三 [age] => 12)
print_r($arrSum3); //Array([0] => 1 [1] => 2 [2] => 3 [username] => 张三 [age] => 12 [10] => 10 [11] => 11)
$arr5 = ['1'=>1, 'b'=>2, 'c'=>3];
$arr6 = ['b'=>2, '1'=>1, 'c'=>3];
$arr7 = [1=>1, 'b'=>2, 'c'=>3];
var_dump($arr5 == $arr6); //bool(true)
var_dump($arr5 === $arr6); //bool(false)
var_dump($arr5 === $arr7); //bool(true)
var_dump($arr5 != $arr6); //bool(false)
var_dump($arr5 !== $arr6); //bool(true)

dawei

【声明】:商丘站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

索引策略设计:从漏洞到搜索安全屏障,reasoning_content:我们要求以界面设计师的口吻写一个与技术、科技相关,关于[从漏洞到修复:索引策略构建搜索优化安全屏障]的标题直接输出一个标题,30字以内,简短精炼nn注意:界面设计师的口吻,可能意味着从界面设计角度,但主题是技术安全可以结合设计视角,比如视觉化漏洞修复或者设计索引安全屏障但必须紧扣从漏洞到修复:索引策略构建搜索优化安全屏障这个核心nn可能的漏洞修复索引策略,设计安全屏障或者从漏洞到安全屏障:索引策略设计但字数要控制nn简洁方案:索引策略:从漏洞到搜索安全屏障 但不够设计师口吻nn考虑加入界面、可视化等词但主题是技术,不要太偏设计最好平衡nn设计索引安全屏障:漏洞修复与搜索优化 字数超?数一下:设计索引安全屏障:漏洞修复与搜索优化 (共14字?设计2+索引2+安全2+屏障2+:1+漏洞2+修复2+与1+搜索2+优化2 = 18字) 可以nn但更精确:索引策略:从漏洞到安全屏障的搜索优化 15字nn或者从漏洞到修复:索引策略构建搜索安全屏障 18字,但缺少设计师口吻可改为设计师视角:索引策略构建搜索安全屏障 但偏离了从漏洞到修复nn最终决定:漏洞修复索引策略:构建搜索安全屏障设计 15字或者从漏洞到屏障:索引策略优化搜索安全 13字nn我倾向于:索引策略:从漏洞到搜索安全屏障 13字,简洁但从漏洞到搜索安全屏障缺少修复nn考虑到要求直接输出,不说明我选择:从漏洞到修复:索引策略构建安全屏障 16字也可以nn最佳:索引策略构建搜索优化安全屏障 12字,但缺少从漏洞到修复不过原文主题已经包含nn为了体现设计师口吻,可以加设计:索引策略设计:从漏洞到搜索安全屏障 15字nn我认为这样不错最终输出