非法的类型偏移量



你好,我在php中有一个数组,看起来像这样:

Array
(
    [english] => Array
        (
            [0] => save
            [1] => sign in
            [2] => forgot password?
            [3] => customer area
            [4] => password
            [5] => sign in to get access to the dashboard
            [6] => your credentials are incorrect. please try again.
            [7] => my information
        )
    [german] => Array
        (
            [0] => sparen
            [1] => anmelden
            [2] => passwort vergessen?
            [3] => kundenbereich
            [4] => passwort
            [5] => meine daten
            [6] => dashboard
            [7] => mitreisende
        )
)

我想从中填充一个表。我的代码:

<tbody>
    <?php foreach ($arrmerged as $key => $value) {
            echo $arrmerged['english'][$value];?>
    <tr class="odd" role="row">
        <td class="sorting_1"><?=$arrmerged['english'][$value];?></td>
        <td><?=$arrmerged['german'][$value];?></td>
        <td><button type="button" class="btn btn-xs btn-success"><span class="glyphicon glyphicon-pencil"></span></button></td>
    </tr>
    </div>
    <?php } ?>
</tbody>

但我得到了这个错误:

Warning: Illegal offset type

我试过$value = new stdClass();

但是仍然是相同的错误。如何用英语数组填充表的一列,用德语数组填充另一列。任何帮助都会被感激的!!!

您可以在主阵列上使用for循环

并在每行打印两种语言的每个索引

但首先你需要找到你在语言数组中总共有多少单词。

<?php $total_words = count($arrmerged['english']);
  for($i=0; $i<$total_words; $i++)
  { ?>
    <tr class="odd" role="row">
        <td><?=$arrmerged['english'][$i];?></td>
        <td><?=$arrmerged['german'][$i];?></td>
        <td><button type="button" class="btn btn-xs btn-success"><span class="glyphicon glyphicon-pencil"></span></button></td>
    </tr> 
<?php } ?>

这会给你带来魔力。

为$value变量添加更多级别的foreach循环。。。

foreach ($arrmerged as $key => $value)

此处

$arrmerged持有您的主阵列

$key包含英语、德语

$value包含

        [0] => sparen
        [1] => anmelden
        [2] => passwort vergessen?
        [3] => kundenbereich
        [4] => passwort
        [5] => meine daten
        [6] => dashboard
        [7] => mitreisende

使用两级foreach()

<tbody>
<?php foreach ($arrmerged as $key => $value) {
       echo $key; // this will print english and germany
       foreach ($value as $k => $val) {
         //print the values for english
         if ($key == 'english') {?>
           <tr class="odd" role="row">
           <td class="sorting_1"><?=$val;?></td><? } 
         else {?>
           //print the values for germany
           <td><?=$val;?></td>
           <td><button type="button" class="btn btn-xs btn-success"><span class="glyphicon glyphicon-pencil"></span></button></td>
        <? } ?>
    </tr>
  </div>
<?php } ?>

最新更新