Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正在插入双值_Php_Arrays_Foreach - Fatal编程技术网

Php 正在插入双值

Php 正在插入双值,php,arrays,foreach,Php,Arrays,Foreach,$categoriesforeach循环之前的结果- string(1) "1"string(1) "1"string(1) "2"string(1) "2" array(2){[0]=>string(1)“1”[1]=>string(1)“2”} $categoriesforeach循环中的结果- string(1) "1"string(1) "1"string(1) "2"string(1) "2" $sortOrderforeach循环前的结果- string(1) "1"string

$categories
foreach循环之前的结果-

string(1) "1"string(1) "1"string(1) "2"string(1) "2"
array(2){[0]=>string(1)“1”[1]=>string(1)“2”}

$categories
foreach循环中的结果-

string(1) "1"string(1) "1"string(1) "2"string(1) "2"
$sortOrder
foreach循环前的结果-

string(1) "1"string(1) "1"string(1) "2"string(1) "2"
array(4){[0]=>string(2)“20”[1]=>string(2)“13”[2]=>string(0)”“[3]=>string(0)”}

$sortOrder
foreach循环中的结果-

string(2) "20"string(2) "13"string(0) ""string(0) ""string(2) "20"string(2) "13"string(0) ""string(0) ""
为什么我在foreach中获得一次双重值

foreach($categories as $cat)
{
    foreach($sortOrder as $sort)
    {
        if(strlen($sort)>0)
        {
            //$this->Ps_products_model->brand_by_category_insert($brand_name,$brand_id,$cat,$sort,$state);
        }
    }
}
$this->load->view('admin/ajax/test', $data);    
预期输出:

Cat: 1, Sort: 20 
Cat: 2, Sort: 13 

如果我对您想要实现的目标有点困惑,请原谅,但是当我运行以下程序(基于您的代码)时:

那么你对结果的期望是什么呢?你能提供一些样品吗

编辑:

在这种情况下,您需要的是for循环:

Cat: 1, Sort: 20 
Cat: 2, Sort: 13 
(以防万一Crackertastic没有回来。)我假设你的意思是$categories的第一个元素与$sortOrder的第一个元素匹配,依此类推?那么我想你想要的是:

for($i=0;$i

但如果$categories的条目数大于$sortOrder,则会出现问题。也许你正在别处处理这个问题

你能提供你想要的结果的输出吗?@cracketastic我基本上想要的是第一个数组和“单数”结果,而不是“双精度”值你的代码应该做什么?外部foreach运行两次,因为$categories中有两个条目。所以整个$sortOrder foreach运行了两次。所以,如果你要打印var_dump($sort)或类似的东西(不知道),你会得到两次所有的东西。我肯定我不明白这个问题。@matt我正试图让它插入带有一组数据的$categories和$sortOrder,而不是double-up。我怎样才能让它插入一次呢?谢谢Matt,这会消除对foreach的需要吗?它不应该有更多的条目,因为每个$catYes只有一个$sort输入框,只需使用for循环即可。谢谢Matt希望我能接受你们两个-让我困惑了一段时间你接受了CracketAstic,因为他的最初答案确实解决了这个问题。:-)
Cat: 1, Sort: 20 
Cat: 2, Sort: 13 
for ($i = 0; $i < count($categories); $i++) {
    $cat = $categories[$i];
    $sort = $sortOrder[$i];
    print("Cat: $cat, Sort: $sort \n");
}