Php 坐标2 foreach循环

Php 坐标2 foreach循环,php,foreach,Php,Foreach,我有2个foreach循环,它们都通过相同的数组循环;但是,其中一个在使用str_replace后在数组中循环,而另一个不使用str_replace 我的问题;如何协调这两个循环,使它们同时在同一数组中循环 对不起,如果我的问题不是描述性的 $contents = ftp_nlist($conn_id, $dir); $unalteredcontents = ftp_nlist($conn_id, $dir); foreach ($unalteredcontents as $fname2) {

我有2个foreach循环,它们都通过相同的数组循环;但是,其中一个在使用str_replace后在数组中循环,而另一个不使用str_replace

我的问题;如何协调这两个循环,使它们同时在同一数组中循环

对不起,如果我的问题不是描述性的

$contents = ftp_nlist($conn_id, $dir);
$unalteredcontents = ftp_nlist($conn_id, $dir);
foreach ($unalteredcontents as $fname2)
{
    if (($fname2 != '.') && ($fname2 != '..'))
    {
        $url = "http://mywebsite.com/folder/" . $userid . "/" . $fname2 . "";
        next($fname2);
    }
}
$contents = str_replace("-", '', $contents);
$contents = str_replace(".pdf", '', $contents);

foreach ($contents as $fname)
{
    if (($fname != '.') && ($fname != '..'))
    {
        $sql_select = "INSERT INTO `database`.`column` (`data`, `fileurl`) VALUES ('" . $fname . "', '" . $url . "') ";
    }
}

你的问题不清楚。但我要试一试:

$unalteredcontents = ftp_nlist($conn_id, $dir);
foreach ($unalteredcontents as $fname2)
{
    if (($fname2 != '.') && ($fname2 != '..'))
    {
        $url = "http://mywebsite.com/folder/" . $userid . "/" . $fname2 . "";

        $contents = str_replace("-", '', $fname2);
        $contents = str_replace(".pdf", '', $contents);

        $sql_select = "INSERT INTO `database`.`column` (`data`, `fileurl`) VALUES ('" . $contents. "', '" . $url . "') ";
    }
}
大概是这样的:

$unalteredcontents = ftp_nlist($conn_id, $dir);
$contents = str_replace("-", '', $unalteredcontents);
$contents = str_replace(".pdf", '', $contents);

foreach ($contents as $key => $fname)
{
    if (($fname != '.') && ($fname != '..'))
    {
        $url = "http://mywebsite.com/folder/" . $userid . "/" . $unalteredcontents[$key];
        $sql_select = "INSERT INTO `database`.`column` (`data`, `fileurl`) VALUES ('" . $fname . "', '" . $url . "') ";
    }
}

你说的“同时”是什么意思?正如在多线程处理中一样?
str_replace()
返回一个字符串,而您在
foreach
中使用该字符串,您不需要,您有一个foreach循环,它同时执行两个任务吗?您的意思是要同时创建url并插入到数据库中吗?您并没有真正做任何事情,也没有理由无法在一个循环中完成您认为要做的事情。你应该坐下来想一想你想要完成什么,并试着更清楚地表达出来——这可能会导致你自己解决问题。埃伦的解决方案更一般,而我的方法利用了这样一个事实,即你可以使用两个具有相同键的并行数组,只需使用
foreach
中的键来索引到数组中,而不是
foreach
ing。在这里,我总是尽量保持原始代码不变,因为我不知道它是否在script=)True上的其他任何地方使用过,而且使用您当前的知识,即替换不会涉及
还是
”。“
将出现在
$contents
中,这有点“不好”。但它可能会稍微快一点。耸耸肩,这是一个有点洗两种方式。