自定义实现内置的shuffle
<?php
//实现自定义的随机打乱
function myshuffle($arr)
{
$result = [];
$time_start = getmicrotime();
while (count($result) < count($arr)) {
$max = max($arr);
$min = min($arr);
$num = rand($min, $max);
if (!in_array($num, $result)) {
$result[] = $num;
$key = array_search($num, $arr);
if ($key !== false) {
unset($arr[$key]);
}
}
}
$time_end = getmicrotime();
$time = $time_end - $time_start;
echo '自定义函数执行时间:' . $time . '秒' . "<br>";
}
function mushuffles($arr)
{
$result = [];
$time_start = getmicrotime();
while (count($result) < count($arr)) {
$num = array_rand($arr);
$result[] = $num;
$result = array_unique($result);
}
$time_end = getmicrotime();
$time = $time_end - $time_start;
echo '使用系统的数组随机' . $time . '秒';
}
function testshuffle($arr)
{
$time_start = getmicrotime();
$arr = shuffle($arr);
$time_end = getmicrotime();
$time = $time_end - $time_start;
echo '系统函数执行时间' . $time . '秒' . "<br>";
}
function test()
{
$arr = [];
for ($i = 0; $i < 1000; $i++) {
$arr[] = $i;
}
myshuffle($arr);
testshuffle($arr);
mushuffles($arr);
}
test();
//计算代码执行的时间
function getmicrotime()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
对比了下时间,系统内置的函数在数组长度由10变为1000的时候几乎时间没有太大的延长,
可能面试官真的只是看你的思路,毕竟php内置的函数效率是经过测试的了,
实现Linux机器之间拷贝文件
使用scp命令拷贝
scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
linux 中的awk命令是否熟悉