一个完整的PHP文件构成元素,php,_一个php的面试题,大家看看,php - phpStudy

一个php的面试题,大家看看

$listData = [

'111' => ['a', 'b', 'c', 'a'],

'222' => ['d', 'e', 'f', 'f', 'b'],

'333' => ['g', 'h'],

'444' => ['i', 'j'],

...

];

定义一个函数,传入$listData

如果111里面的元素,和 222/333/444... 里面的元素有重复,返回false

如果222里面的元素,和 111/333/444... 里面的元素有重复,返回false

如果333里面的元素,和 111/222/444... 里面的元素有重复,返回false

如果 ...

允许 111/222/333/444 自己里面的元素重复,返回true

其他情况返回true

已知:

$listData长度未知

111/222/333/444... 的长度未知

111/222/333/444... 里的元素为字符串和数字

我自己实现了一下,感觉算法很糟,请问有没有其他方法

function test ($array) {

$tempValueList = [];

foreach ($array as $key => $valueList) {

foreach ($valueList as $value) {

$tempValueList[] = $key . '~' . $value;

}

}

$result = true;

foreach ($array as $key => $valueList) {

foreach ($valueList as $value) {

foreach ($tempValueList as $_value) {

$pos = strpos($_value, '~');

$_key = substr($_value, 0, $pos);

$_val = substr($_value, $pos + 1);

if ($key == $_key) {

continue;

}

if ($_val == $value) {

$result = false;

break 3;

}

}

}

}

return $result;

}

相关阅读:

Python的元类, 你平时用的多吗? 怎么用的?

Tomcat deploy成功,但是start后项目无法启动,console和log均不报错?

关于获取元素宽度问题

node中如何在内存中生成一个文件上传到服务器?

关于html2canvas这个截图插件的问题

创建实例的构造函数中return 不同类型的值(对象),为什么会导致实例属性输出也不同?

元素的高度是怎么计算的?

android studio 能通过Clean和Rebuild,但在联手机测试时和Build apk时报错

python中,使用pip install PIL 出现问题could not find a version

跨域如何关闭iframe父窗口。

如何使用scroll.js使左右两栏都可以上下滑动,如图

php为什么运行了一段时间后才报内存溢出?

win10下cmd输出系统环境变量因为有空格而只显示空格前面的部分

docker不显示端口映射呢?

如何做一個完整的圓?裡面顯示數字

如何解决chrome中文字体无法正常显示?

linux 重新挂载目录

sysbench 测mutex具体原理是什么

redmin安装过过程中的坑,求填。

antd 的Input 组件如何取值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值