下面是我正在使用的数组
$a = array("1"=>2,"2"=>8,"3"=>9,"4"=>8,"5"=>6,"6"=>7,"7"=>9,"8"=>2);我试图得到这样的输出,当2打印2,3打印3-3时。
//Desired Output
Two - 2
Eight -8
Nine - 9我通过使用另一个数组获得了所需的输出。
这段代码在array_map()函数中使用null作为回调来创建数组数组
$b = array("Two", "Eight", "Nine", "Eight", "Six", "Seven", "Nine", "Two");
$array = array_map(null, $a, $b);
foreach($array as $value) {
echo $value[1]."-".$value[0]."<br>";
}因此,我想要做的是在不使用另一个数组$b的情况下获得所需的输出。我不知道如何不使用另一个数组。有可能与任何情况有关吗?还是我问的问题很傻?我刚开始学习php。
我试图找到解决办法,但没有到达那里。如果已经有了解决办法,请转告我。
发布于 2020-08-07 20:38:06
// $a = array("1"=>2,"2"=>8,"3"=>9,"4"=>8,"5"=>6,"6"=>7,"7"=>9,"8"=>2); // used short array notation (see references) and removed keys (since not used)
$numbers = [2,8,9,8,6,7,9,2,95890814984141]; // the last number is for my pleasure :P
$numberFormatter = new NumberFormatter('en', NumberFormatter::SPELLOUT);
foreach ($numbers as $number) {
$numberSpelled = $numberFormatter->format($number);
$numberSpelledWithFirstCharUpper = ucfirst($numberSpelled);
echo $numberSpelledWithFirstCharUpper . ' - ' . $number . PHP_EOL;
}输出
Two - 2
Eight - 8
Nine - 9
Eight - 8
Six - 6
Seven - 7
Nine - 9
Two - 2
Ninety-five trillion eight hundred ninety billion eight hundred fourteen million nine hundred eighty-four thousand one hundred forty-one - 95890814984141工作示例。
参考文献
亲贴士
给你的变量有意义的名字 -使代码更容易阅读和理解。
发布于 2020-08-07 14:22:39
是的,您必须为此创建另一个数组或将值放在现有数组上,但是如果您不为此使用array_map(),这将是很好的实践。
foreach($a as $key=>$value) {
echo $b[$key]."-".$value."<br>";发布于 2020-08-07 14:31:50
添加一个查找数组,并:
$lookup = [
'zero',
'one',
'two',
'three',
'four',
// etc...
];
$a = array("1"=>2,"2"=>4,"3"=>1,"4"=>1,"5"=>2,"6"=>3,"7"=>3,"8"=>2);
foreach ($a as $num) {
echo $lookup[$num] . '-' . $num;
}小提琴这里.
https://stackoverflow.com/questions/63303643
复制相似问题