Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.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 - Fatal编程技术网

Php 从信息数组中插入数据?

Php 从信息数组中插入数据?,php,Php,我不知道如何处理这个问题,我需要一些关于从名字列表中插入数据的建议。这是统计类型的数据。假设我有一个这样的数组 $basketball = array ( 'teams' => array ( 'orange' => array ( 'names' => array( 'matt' => array('number' => '12', 'position' => 'guard')

我不知道如何处理这个问题,我需要一些关于从名字列表中插入数据的建议。这是统计类型的数据。假设我有一个这样的数组

$basketball = array (
    'teams' => array (
        'orange' => array (
            'names'  => array(
                'matt' => array('number' => '12', 'position' => 'guard'), 
                'john' => array('number' => '23', 'position' => 'forward'),
            ),
        ),
        'blue' => array (
            'names'  => array(
                'luke' => array('number' => '34', 'position' => 'guard'), 
                'brian' => array('number' => '45', 'position' => 'forward'),
            ),
        ),
    ),
);
<?php foreach($basketball as $key => $teams): ?>
    <?php foreach($teams as $team => $names): ?>
    <div class="teams <?php echo $team ?>" data-score="0">
        <?php foreach($names as $key => $players): ?>
            <?php foreach($players as $player => $player_info): ?>
                <div class="home-stats stats <?php echo $team ?>" data-player="<?php echo $player ?>">
                    <ul>
                        <li class="name">
                        <span><?php echo $player ?></span>
                        <input type="hidden" name="home-playername" value="<?php echo $player ?>" />
                        </li>
                        <li class="points">
                        <span>0</span>
                        <input type="hidden" name="home-points" value="0" />
                        </li>
                    </ul>
                </div>
            <?php endforeach; ?>    
        <?php endforeach; ?>
    </div>   
    <?php endforeach; ?>
<?php endforeach; ?>
然后,在我的应用程序中,我对这样的名称运行foreach

$basketball = array (
    'teams' => array (
        'orange' => array (
            'names'  => array(
                'matt' => array('number' => '12', 'position' => 'guard'), 
                'john' => array('number' => '23', 'position' => 'forward'),
            ),
        ),
        'blue' => array (
            'names'  => array(
                'luke' => array('number' => '34', 'position' => 'guard'), 
                'brian' => array('number' => '45', 'position' => 'forward'),
            ),
        ),
    ),
);
<?php foreach($basketball as $key => $teams): ?>
    <?php foreach($teams as $team => $names): ?>
    <div class="teams <?php echo $team ?>" data-score="0">
        <?php foreach($names as $key => $players): ?>
            <?php foreach($players as $player => $player_info): ?>
                <div class="home-stats stats <?php echo $team ?>" data-player="<?php echo $player ?>">
                    <ul>
                        <li class="name">
                        <span><?php echo $player ?></span>
                        <input type="hidden" name="home-playername" value="<?php echo $player ?>" />
                        </li>
                        <li class="points">
                        <span>0</span>
                        <input type="hidden" name="home-points" value="0" />
                        </li>
                    </ul>
                </div>
            <?php endforeach; ?>    
        <?php endforeach; ?>
    </div>   
    <?php endforeach; ?>
<?php endforeach; ?>

我想这可能是一个相当宽泛的问题,但如果你是开发者,在给定信息的情况下,你会如何处理统计风格的数据,玩家的名字是所有信息的父项。。。或团队名称可能是所有信息的父级,无论哪种方式,一旦我找到了我可以选择的最佳方法。

您应该使用像ember.js、angular.js或backbone.js这样的插件。您应该创建一个简单的RESTful API来从服务器检索数据。要完成此任务,请分为三个步骤:

1-将数据放入数据库 确保所有关系都经过深思熟虑。不要在数据库中随意输入信息。当我看一下您的示例时,您似乎已经对组织数据的方式产生了问题。名称应该是对象的属性,而不是键的名称。使用OOP的强大功能

2-将数据库映射到对象中 省去你自己的巨大麻烦,使用教条。它帮助您映射实体之间的数据和关系。您可以用不到50行代码映射整个应用程序

3-返回数据 以您需要的任何格式返回。JSON是非常主流的,但您可以决定返回XML或YAML。这取决于你。使用你觉得合适的任何东西

我个人使用Ember.js。它用于您的模板。最后,您的代码应该非常简短和干净:

<div id="comments">
    {{#each player}}
        <h2>#{{id}}">{{name}}</a></h2>
        <div>{{points}}</div>
    {{/each}}
</div>

{{{#每个玩家}
#{{id}}>{{name}
{{点}}
{{/每个}}
如果您不知道这些框架是如何工作的,请花时间学习它们。您现在的做法是错误的。养成最佳习惯,学习如何使用MVC架构构建可靠的应用程序


希望它能有所帮助

我很感激这一点,我需要采取一种更加面向对象的方法。我听到和看到了主干,还有余烬。我从来没有完全理解过。让我吸取所有这些……是的,我最近自己学的,我相信你花在学习框架上的时间等于你将浪费在手动使用大部分功能上的时间。我相信我学习其中的一个框架不仅会让你成为一个更好的程序员,而且会是一个巨大的时间投资。是的,我一直在听这个,我还打算在这个应用之后使用PHP框架,比如zend。