Implode()与Foreach() [英] Implode() vs Foreach()

查看:111
本文介绍了Implode()与Foreach()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

具有以下语法: Foreach:

Have those syntaxes: Foreach:

$array=array('v1','v2','v3');
foreach( $array as $value ){
echo $value;
}

输出:

v1v2v3

放大:

$array=array('v1','v2','v3');
$value=implode(" ",$array);
echo $value;

输出:

v1 v2 v3

我需要一些帮助来理解上述情况中使用的implode(),foreach()之间的区别.它们是否相同?或有什么区别?我应该使用哪个以及何时使用?

I need some help understanding the difference between implode(),foreach() used in the situation above.Are they the same? Or what is the difference? Which i should use and when?

出于记录,我知道一些细微的差别,诸如此类.我只想了解您的意见,以及是否对这些功能不了解.

推荐答案

通常,循环可用于执行您想要的任何操作.

Generally loops may be used for making any action you want.

例如,您可以将字符串与其他依赖于字符串或数组元素的字符串连接起来

You can for example concatenate string with other string depending or array element:

$array=array('v1','v2','v3');
foreach ($array as $value) {
  if ($value == 'v1') {
    echo $value.' something';
  } 
  else {
    echo $value.' something2';
  }
}

如果数组中有数字,则可以进行数学运算:

and if you have numbers in your array you can do math operations:

$array=array(1,2,3);
foreach ($array as $value) {
  echo ($value + 5).' ';
}

您还可以更改数组元素:

You can also change array elements:

$array=array(1,2,3);
foreach ($array as &$value) {
    $value += 3;
}
unset($value);
foreach ($array as $value ){
    echo $value.' ';
}
// result: 4 5 6 

Implode只是一个合并数组元素并在它们之间放置分隔符的函数.而已.它不会更改数组元素.它简单地返回输出字符串.通常用于准备要显示的数据.

Implode is just a function that merge array elements and put a splitter between them. Nothing more. It doesn't change array elements. It simple returns output string. It's usually used for preparing data to display.

implode更加方便地在元素之间放置分隔符.在循环中,如果您想在所有元素之间放置空格,但又不需要在最后一个元素之后放置空格,则需要对最后一个元素进行额外的检查,而使用implode则无需担心,因为implode只是它给你.

Also implode is much more convenient for putting splitter between elements. In loop if you want to put space between all elements but you don't need to put space after last element you need to make extra checks for last element and using implode you don't need to care because implode just does it for you.

在您的情况下,输出将不一样,因为您的循环将输出: v1v2v3和爆破会输出v1 v2 v3,因为您使用了空格分隔符

And in your case, output wouldn't be the same because your loop would output: v1v2v3 and implode would output v1 v2 v3 because you used space separator

这篇关于Implode()与Foreach()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆