获取要在单选按钮的value属性中打印的数组的索引值

时间:2012-06-09 10:24:13

标签: php arrays function multidimensional-array indexing

问题:

要在阵列按钮的值属性中相应地打印数组的索引值。

数组$ _SESSION ['items']:

Array
(
    [2] => Array
        (
            [category] => 2
            [question] => Array
                (
                    [6] => Källorna refereras separat
                    [7] => Vissa försök till sammanbindning
                    [8] => En del sammanfattningar
                    [9] => Olika forskningslinjer jämförs och sammanfattas
                    [10] => Kontraster, jämförelser, sammanfattningar; centrala likheter och skillnader framhävs
                )

            [title] => Integration av källorna
        )
)

我有一个看起来像这样的PHP函数:

function itemsLayout ($array)
{   
    for ($i = 1; $i <= count($array['question']); $i++)
    {

        $form .= '<input type="radio" name="'.$array['category'].'" id="'.$array['category'].'" value="INDEX VALUE FOR QUESTION ARRAY HERE">';
    }

    return $form;
}

PHP代码:

我使用以下内容获取索引:

$key = key($_SESSION['items']);
$current = $_SESSION['items'][$key];

我使用以下方式打印第一个索引:

echo itemsLayout($current);

问题:

如何在每个单选按钮的值属性中打印索引值6,7,8,9,10?

2 个答案:

答案 0 :(得分:1)

使用foreach循环 http://www.w3schools.com/php/php_looping_for.asp

我觉得语法是

foreach ($x as $key => $value)
{
    echo $key . "<br />";
}

而不是for($ i = 1; $ i&lt; = count($ array ['question']); $ i ++)

LE:这是一个更好的链接http://php.net/manual/en/control-structures.foreach.php

答案 1 :(得分:0)

foreach ($question as $q) {
  $form .= sprintf('<input type="radio" name="%d" id="%d", value="%s">', $array['category'], $array['category'], $q);
}