gpt4 book ai didi

PHP 修改数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:25:39 24 4
gpt4 key购买 nike

我有以下数组:

array(a, a, a, b, b, c, c, c, c, d, d);

当我遍历它并回显它时,结果是:

a
a
a
b
b
c
c
c
c
d
d

我怎么想以它显示的方式回应它:

a
b
c
d
a
b
c
d
a
c
c

这是网格中的数组,可以更好地解释我想要实现的目标

Current
a a a b
b c c c
c d d

What im tryin to do
a b c d
a b c d
a c c

我该怎么做?

看到你们的一些回答,很明显我解释得不够好:/

我应该包括数组键的样子:

0a 1a 2a 3b
4b 5c 6c 7c
8c 9d 10d

0a 3b 6c 9d
1a 4b 7c 10d
2a 5c 8c

这是我需要按键组织数组的方式

0a 
1a
2a
3b
4b
5c
6c
7c
8c
9d
10d

0a
3b
6c
9d
1a
4b
7c
10d
2a
5c
8c

最佳答案

如果我正确理解了您的规范,这应该可行:

<?php

function magicFunction($input) {
$output = array();

sort($input);

$startingCount = count($input);

for ($j=0; $j<count($input); $j++) {
$lastValue = NULL;

for ($i=0; $i<count($input); $i++) {
//var_dump($input[$i]);
if ($input[$i] !== NULL && $input[$i] !== $lastValue) {

$output[] = $input[$i];
$lastValue = $input[$i];
$input[$i] = NULL;
}
}
//echo '<hr />';
if (count($output) == $startingCount) {
break;
}
}

return $output;
}

$array = array('z','a','a','a','b','b','c','c','c','c','d','d','z');

$result = magicFunction($array);
echo '<pre>' . print_r($result, true) . '</pre>';

?>

给出输出:

Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => z
[5] => a
[6] => b
[7] => c
[8] => d
[9] => z
[10] => a
[11] => c
[12] => c
)

我将 z 添加到输入数组(两次)以方便我进行测试。

您可以取消注释行以帮助查看我的函数如何工作。

可能有一种更有效的方法来执行此操作(或者至少对该方法进行一些小的性能调整),但我现在不会太认真地研究它,因为我可能误解了你的问题。无论如何,除非您的输入数组真的很大,否则这无关紧要。

关于PHP 修改数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4577260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com