【发布时间】:2019-08-05 16:38:24
【问题描述】:
我试图弄清楚如何开始循环遍历不同索引的数组,但是当它到达末尾时,它会循环回到开头并完成数组。基本上,我需要能够动态改变数组的偏移量。
我正在尝试做的是将字母表中的一个字母与另一个字母表字母关联起来,以将字符串混合在一起。
假设我有一个这样的随机数组
$arr = array('a' => 'g', 'b' => 'w', 'c' => 'j', 'd' => 'y', 'e' => 'k');
然后我有一个这样的字符串
$string = 'abcde';
假设我需要从数组中的索引2 开始,这将是'c' => 'j',然后将数组完成到末尾,然后循环回到开头直到完成。
我想要做的是用数组中与之关联的相应字母替换每个字母。所以替换后的最终字符串看起来像
我会用
重构数组$build = strtr($string,$arr);
会回显gwjyk
但我需要从数组中的一个随机点开始,然后完成它,然后回到开始并完成整个数组。
所以也许我的偏移量是2。
$offset = 2;
【问题讨论】:
-
我想有更好的方法来做任何你想做的事情。如果你告诉我们完整的故事,有人可以提出建议
-
你在混淆...
5是5 => 6的索引而不是2 -
@RiggsFolly 你是对的我编辑了我的问题以匹配我的确切情况。
-
strstr有什么问题?你需要什么自定义循环? -
我会先执行
array_slice然后array_merge以正确的顺序创建数组并从头开始索引,然后从头到尾遍历一次。