将字符串添加到数组中的所有但最后一项

I have an array and I'd like to add a string to each item in the array, apart from the last item.

Any ideas how I'd do this?

Thanks

This should do it for both numerically-indexed arrays and associative arrays:

$i = 0;
$c = count($array);

foreach ($array as $key => $val) {
    if ($i++ < $c - 1) {
        $array[$key] .= 'string';
    }
}

If your array is numerically indexed, a simple loop does the job.

for ($i = count($array) - 2; $i >= 0; $i--) {
    $array[$i] = $array[$i] . $stringToAppend;
}

Well a simple for loop would be the obvious thing I guess.

for ( $i=0; $i < count( $myArray )-1; $i++ ) 
   {
      $myArray[$i] = "Hey look a string";
   }

But then you might also just use array_fill to do a similar job:

array_fill( 0, $sizeOfArray, "Hey look a string" )

Then you can just set the last value to be whatever you want it to be.

EDIT: If by "add a string to each item" you mean you already have a value in the array and you want to append a string, then I would use my first suggestion with $myArray[$i] .= "Hey look a string"; instead of the simple assignment.

I don't think there is a native command for this. Just do it the traditional way.

// Your array.
$MyArray = array("Item1","Item2","Item3");

// Check that we have more than one element
if (count($MyArray) > 1) {
  for ($n=0; $n<count($MyArray)-1; $n++) {
    $MyArray[$n] .= " Appended string";
  }
}

The code is from the top of my head, so maybe some tweeking might do he trick.

$array =array();
$statement = null;
        for ($j= 0;$j<count($array);$j++) {
            if ($j === count($array)-1) {
                $statement .= $array[$j];
            } else {
                $statement .= $array[$j].' OR ';
            }

        }