PHP 数组两次,最后值


PHP array twice and value at the end

>我要获取一个数组以附加到字符串中,如果值为 ",则关闭该值。不知何故,生成的数组是这样的: Array ( [0] => test1 [1] => test2 [2] => t3 [3] => t4 [4] => t5 [5] => t6 ) test1,test2,t3,t4,t5,t6

该 php 代码:

<?php
include ('connServer.php');
if(isset($_POST['submit']))
{
//$query = 
$updatedBy = $_POST['username'];
$shift = $_POST['shift'];
$date = $_POST['currDate'];
$machine = $_POST['machine'];
$timeDown = $_POST['timeDown'];
$timeUp = $_POST['timeUp'];
$downtimeType = $_POST['dtType'];
$tsDowntime = $_POST['troubleDT'];
$proDowntime = $_POST['proDowntime'];
function is_notnull($var) {return !is_null($var);}
switch ($downtimeType)
{
    case "Unscheduled":
    {
        $process = '-';
        $description = $_POST['description'];
        $actiontaken = $_POST['details'];
        $remark = '-';
        $sparepartstaken = $_POST['sparepartsTaken'];
    }break;
    case "PM":
    {
        $rebuiltParts = array();
        for($i = 1; $i <= 6; $i++)
        {
            $rebuiltParts[] = $_POST['rebuildParts'.$i];
            $rebuiltPartsfiltered = array_filter($rebuiltParts, "is_notnull");
        }
        print_r(array_filter($rebuiltParts, "is_notnull"));
        $process = '-';
        $description = "Rebuilt Parts:" .implode(',',$rebuiltPartsfiltered). "";
        $actiontaken = $_POST['actTaken'];
        $remark = '-';
        $sparepartstaken = $_POST['sparepartsTaken'];
    }break;
    case "Conversion":
    {
        $process = '-';
        $description = '' .$_POST['description']. '';
        $actiontaken = $_POST['actTaken'];
        $remark = '-';
        $sparepartstaken = $_POST['sparepartsTaken'];
    }break;
    case "Process_Issue":
    {
        $process = '-';
        $description = '' .$_POST['description']. '';
        $actiontaken = $_POST['actTaken'];
        $remark = '-';
        $sparepartstaken = $_POST['sparepartsTaken'];
    }break;
    case "Others":
    {
    }break;
    case "Bi-Weekly":
    {}break;
    default:
    {} break;
}
print_r(implode(',',$rebuiltPartsfiltered));
/*  
$process
$description
$actiontaken
$remark
$sparepartstaken
*/
}
?>

搜索并尝试了其他事情,但情况只会变得更糟。但我真的不知道如何在谷歌搜索中准确地表达这一点。我做错了(我相信这可能是for循环)还是别的什么?或者有更好的方法可以做到这一点?

所以你的输出:

数组 ( [0] => 测试1 [1] => 测试2 [2] => t3 [3] => t4 [4] => t5

[5] => t6 ) 测试1,测试2,t3,t4,t5,t6

完全有道理。您首先拥有此代码...

print_r(array_filter($rebuiltParts, "is_notnull"));

。这是打印出一个数组。这将生成此输出:

数组 ( [0] => 测试1 [1] => 测试2 [2] => t3 [3] => t4 [4] =>

t5 [5] => t6 )

然后在最后你有这个代码...

print_r(implode(',',$rebuiltPartsfiltered));

这是将数组值打印为逗号分隔的字符串。生成此输出:

测试

1,测试2,T3,T4,T5,T6