PHP:在foreach中创建一个字符串数组,然后添加所有字符串数组的结果

问题描述:

问题:嗨,我很难在PHP中使用foreach,它有字符串数组,然后我将所有这些字符串存储在单个字符串中或存储在单个变量中。PHP:在foreach中创建一个字符串数组,然后添加所有字符串数组的结果

目的:我的目的是因为我想为我的其他原因做一个echo substr()总数的所有字符串。

什么我迄今所做的:

<?php 

    $values = array(); 

    foreach ($acknowledgementspecifics as $specifics); 
    { 
    ?> 

    <?php $values = array[]("".$specifics->feetype_name." (".$specifics->month_date.") ".$specifics->payment_amount.", "); ?> 

    <?php 
    } 

// (Combine all Arrays) 

// $totalvalue = (total of all combined strings); 
?> 

两个问题:

  • foreach行末尾的;将创建一个没有任何主体的循环。它后面的部分是foreach身体一部分。所以删除;

  • 语法追加到数组不为$values = array[](...),但$values[] = ...

这些补丁后,你将有一个字符串数组,你再需要连接到一个字符串,就可以用implode做。您需要提供一个分隔符来分隔字符串(例如\n<br>):

$values = array(); 
foreach ($acknowledgementspecifics as $specifics) { 
    $values[] = $specifics->feetype_name . " (". 
       $specifics->month_date . ") ". 
       $specifics->payment_amount . ", "; 
} 
// (Combine all Arrays) 
$totalvalue = implode("\n", $values); 
+0

由于这是最好的答案,容易理解和感谢这些更正。 – Cecatrix

如果你想在一个字符串中的所有值存储在forecah循环,不管用数组,使用 (=)操作

。现在你可以使用substr()函数。 看到代码 - 使用SUBSTR()函数

<?php 
    $values = ""; 
    foreach ($acknowledgementspecifics as $specifics){ 
     $values. = "".$specifics->feetype_name." (".$specifics->month_date.") ".$specifics->payment_amount.", "; 
    } 

    $totalvalue=$values; // (All Values) 
//now you can use substr() 
?> 

将字符串添加到阵列...

$values[] = $specifics->feetype_name 
     ." (".$specifics->month_date.") " 
     .$specifics->payment_amount; 

并把它们加在一起使用或者implode(',', $values)或只是implode($values)