PHP - 使用foreach和数组

时间:2012-09-21 06:13:29

标签: php arrays foreach

我正在努力获得正确的语法来解析数组中的值以与foreach循环一起使用。我有一个数组:

$contacts_array

包含我需要搜索的一个或多个名称。该数组如下所示:

Array
(
    [0] => PR1010

    [1] => PR1086
)   

如果我要手动生成具有已知数量的名称的所需PHP代码,它将看起来像有两个要搜索的名称:

// Create first find request
$findreq1 =$fm->newFindRequest('Contacts');

// Create second find request
$findreq2 =$fm->newFindRequest('Contacts');


// Specify search criterion for first find request 
$findreq1->addFindCriterion('Name', $searchTerm);

// Specify search criterion for second find request 
$findreq2->addFindCriterion('Suburb', $searchTerm);;

// Add find requests to compound find command 
$request->add(1,$findreq1); 
$request->add(2,$findreq2); 

我需要为数组中的每个名称生成等效代码。我知道我需要使用类似的东西:

foreach($contacts_array as $contact_array => $value) 
{
} 

以及:

$num = 1
$num++; } /* foreach record */

我只是不确定如何将这一切结合在一起,以便在我去的时候增加$ findreq1变量。到目前为止我所有的尝试都会产生错如果有人能告诉我如何将它们结合在一起,那将非常感激,因为我正在学习PHP。

由于

2 个答案:

答案 0 :(得分:1)

<?php 
    for($i = 0; $i < count($contacts_array); $i++) { 
        ${'findreq' . ($i+1)} = $fm->newFindRequest('Contacts');
        ${'findreq' . ($i+1)}->addFindCriterion('Name', $contacts_array[$i]);
        $request->add($i+1, ${'findreq' . ($i+1)});
    }
?> 

详细了解Dynamic variable names in PHP

答案 1 :(得分:1)

你们打败了我。

    <?php
    $contacts = Array('PR1010','PR1086');
    //print_r($contacts);

    foreach ($contacts as $key => $value) {
    //echo "key: ".$key." - Value: ".$value."<br>";

    $findreq1 = $fm->newFindRequest('Contacts');
    $findreq1->addFindCriterion('Name', $value); // this is where the Array's value is passed too, it is looped for every value in the Array
    $request->add(1,$findreq1); 

    // do more here 
    }
    ?>