标签: nested-loops

PHP嵌套循环意外地表现

我有一个数组,其中包含特定文章的类别($ link_cat).然后我使用mysql_fetch_array打印出带有复选框的列表中的所有可用类别.虽然它正在这样做,我希望它将它的值与其他数组的值进行比较.如果匹配,则表示其中一个类别适用于本文,并且应该打印出一行代码以应用checked属性.大!除了它没有工作= [

    while ( $row = mysqli_fetch_array($results, MYSQLI_ASSOC) ){
    $cat[$i] = $row['category'];
    $cat_id[$i] = $row['cat_id'];

    echo '<li><input type="checkbox" ';

    $catCount = count($link_cat);
    for ($ct = 0; $ct < $catCount; $ct++){
        if ($cat_id[$i] == $link_cat[$ct]){ 
            echo 'checked="checked" ';
        }
    }

    echo 'name="' . $cat_id[$i] . '" />' . $cat[$i] . '</li>';

    $i++;
}
Run Code Online (Sandbox Code Playgroud)

我以前从未真正做过嵌套循环(我怀疑这是问题所在).

问题似乎是,当这个运行时,$ link_cat [0]将在其中检查第一个类别 - 不会注册.它出现空白.在for循环中打印出变量证实了这一点.任何其他[1] [2]等,都没问题.它只是[0].但为什么?它似乎没有任何意义.我知道那里有东西,因为我打印了数组的内容,因为我填充它,只是为了检查.然而,它不只是在循环中显示.有任何想法吗?

php mysql loops nested-loops

0
推荐指数
1
解决办法
542
查看次数

当且仅当Array2元素匹配哈希值(不是键)时,使用Array2 String元素填充ruby Array1

我有一个红宝石哈希:

VALS = { :one => "One", :two => "Two" }
Run Code Online (Sandbox Code Playgroud)

和一个数组:

array2 = ["hello", "world", "One"]
Run Code Online (Sandbox Code Playgroud)

问题:如何填充新的array1,以便它只引入array2中与VALS中的值完全匹配的任何值?

例如,我试过:

array2.each_with_index do |e,i| 
array1 << e if VALS[i] ~= e
end
Run Code Online (Sandbox Code Playgroud)

和其他东西一起,没有工作.菜鸟.

谢谢


辉煌!但是我尝试过:

p array.select { |i| hash.has_value? i ? array[i+1] : "foo"}
Run Code Online (Sandbox Code Playgroud)

我有一个无法转换fixnum错误.我肯定错过了什么.

ruby arrays hash scope nested-loops

0
推荐指数
1
解决办法
272
查看次数

递归php函数不返回结果

这是我的功能:

function loop($id){

        unset($result, $sql, $query);
        $sql = " SELECT parent_id FROM page_entries WHERE id = '$id' ";
        $query = mysql_query ( $sql )or die(mysql_error());
        $result = mysql_fetch_assoc ( $query )or die(mysql_error());
        if ( $result['parent_id'] != 0 ) {
            echo $result['parent_id']."... looping<br>";
            loop($result['parent_id']);
        } else {
            echo $result['parent_id']."... done loop";
            return $result['parent_id'];
        }

    } 

    echo loop('2');
Run Code Online (Sandbox Code Playgroud)

我正在回应parent_id进行测试.这是输出到浏览器的内容:

1 ...循环

0 ...完成循环

在我不确定发生了什么的情况下echo loop('2'),return $result['id']如果我注释掉echo函数中的行,则不会回应任何内容.我已经尝试通过改变返回来测试,但return 'foo';仍然没有.

有任何想法吗?

php function nested-loops

0
推荐指数
1
解决办法
617
查看次数

在"try"运算符中嵌套"for"循环

伙计们,

我已经辞职以解决这个问题,但我想检查Python是否真的按预期运行.

在示例中,"sample.txt"是任何读取和解析的多行文本文件.

try:
    file=open('sample.txt','r')
    for line in file:
          (some action here)
except:
    print "Couldn't open file"
file.close()
Run Code Online (Sandbox Code Playgroud)

我观察到的动作是打开"sample.txt"并处理第一行,然后逻辑进入"except"子句.

WAD还是这个bug?

python nested-loops

0
推荐指数
1
解决办法
7488
查看次数

使用Python中的列表列表

我是Python的新手,我正在尝试通过列表列表.

说我有:

myList = [[1,2,3,4],[10,11,12,13],[29,28,27,26]]
Run Code Online (Sandbox Code Playgroud)

以及一个名为myFunction的函数

我可以写:

for x in myList:
   for y in x:
     myFunction(y)
Run Code Online (Sandbox Code Playgroud)

但是,这只会在所有子列表中的每个项目上调用myFunction.当我完成每个子列表中的所有项目时,我将如何合并我可以调用的内容(例如,我将调用1,2,3和4,然后循环将意识到它位于子列表的末尾,我可以称该子列表).

非常感谢!

python loops list nested-lists nested-loops

0
推荐指数
1
解决办法
136
查看次数

Python中更有效的循环

我有这样的情况,我需要循环遍历两个对象列表并找到相等,然后循环其字段并更改一些属性.看起来像这样

for new_product in products_and_articles['products']:
  for old_product in products_for_update:
    if new_product.article == old_product.article:
      for old_field in old_product._meta.get_all_field_names():
        for new_field in new_product._meta.get_all_field_names():
          if old_field == new_field and old_field != 'id' and old_field != 'slug':
            setattr(old_product, old_field, getattr(new_product, old_field))
Run Code Online (Sandbox Code Playgroud)

显然,这远非好或甚至不可接受.所以我正在寻求建议如何避免这么多循环并增强算法

python django performance nested-loops

0
推荐指数
1
解决办法
199
查看次数

嵌套for循环,在循环外部进行初始化

#include <stdio.h>

int main()
{
    int i = 1, j = 1;

    for(i; i<=5; i++)
    {
        for(j; j<=5; j++)
        {
            printf("%d - %d\n",i, j);
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码只运行一次外部for循环.输出是:

1 - 1
1 - 2
1 - 3
1 - 4
1 - 5
Run Code Online (Sandbox Code Playgroud)

但是当我进行以下更改时,printfs会打印预期的25次.

    for(i=1; i<=5; i++)
    {
        for(j=1; j<=5; j++)
        {
            printf("%d - %d\n",i, j);
        }
    }
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这种行为吗?

c nested-loops

0
推荐指数
1
解决办法
55
查看次数

如何在python中迭代三个列表

总蟒蛇新秀在这里.我希望迭代三个列表,其中前两个应该以所有可能的方式重新组合,而只有一个值附加到第三个列表的每个组合.到目前为止,我得到了:

import itertools

list1 = [1,2,3]
list2 = [1,2,3]
list3 = [1,2,3,4,5,6,7,8,9]

for x, y, in itertools.product(list1, list2):
    print x, y, list3
Run Code Online (Sandbox Code Playgroud)

返回:

1 1 [1, 2, 3, 4, 5, 6, 7, 8, 9]
1 2 [1, 2, 3, 4, 5, 6, 7, 8, 9]
1 3 [1, 2, 3, 4, 5, 6, 7, 8, 9]
2 1 [1, 2, 3, 4, 5, 6, 7, 8, 9]
2 2 [1, 2, 3, 4, 5, 6, 7, 8, 9]
2 3 …
Run Code Online (Sandbox Code Playgroud)

python for-loop nested-loops python-itertools python-2.7

0
推荐指数
1
解决办法
1271
查看次数

JavaScript从嵌套对象获取价值

如果这是我的目标:

var obj = {
bakery1: {
    small: {
        name: "Small cookie",
        price: 0.75;
    }
    large: {
        name: "Large cookie",
        price: 3.00;
    }
}
bakery2: {
    small: {
        name: "Small cookie",
        price: 1.00;
    }
    large: {
        name: "Large cookie",
        price: 4.00;
    }
}
};
Run Code Online (Sandbox Code Playgroud)

我将如何制作一个将所有价格打印到控制台的循环?

并且在打印此值时,是否有办法跟踪名称?

例如,如果输出为3.00,我将如何创建一个函数,该函数的名称与3.00价格一致?

提前致谢!

javascript for-loop nested object nested-loops

0
推荐指数
1
解决办法
2173
查看次数

嵌套for循环以在两个字符串之间进行迭代

我想,使用for循环,遍历每个字符串并依次输出每个字符.

String a = "apple";
String b = "class";

for (int i = 0;  i < a.length() ; i++) { // - 1 because 0 = 1
    System.out.print(a.charAt(i));
    for (int j = 0; j < b.length(); j ++) {
        System.out.print(b.charAt(j));
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在努力与内循环.

目前我的输出如下:

AClasspClasspClasslClasseClass
Run Code Online (Sandbox Code Playgroud)

但是,我想实现以下目标:

acplpalses
Run Code Online (Sandbox Code Playgroud)

扩展问题:

如何正常输出一个字符串而另一个正常输出?

目前的尝试:

for (int i = a.length() - 1; i >= 0; i--) {
    System.out.println(a.charAt(i));
    for (int j = 0; j < b.length(); j ++) {
        System.out.println(b.charAt(j));
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这只是输出如上所述,只是以"Apple"的相反顺序输出,格式与上一个相同:

eclasslclasspclasspclassaclass
Run Code Online (Sandbox Code Playgroud)

java loops for-loop nested-loops

0
推荐指数
1
解决办法
77
查看次数