无法将循环中的值添加到关联数组

时间:2016-03-17 11:56:17

标签: php arrays

我不想在关联数组中的while循环中连续添加值。我使用了以下技术,但是当我显示它时,它只存储最后一个值,通过搜索我发现人们也这样做。代码中有什么问题?

我的Php代码是:

array(75) { [0]=> array(1) { ["AB0001"]=> string(29) "Arthur Boshnack, M.D, F.A.C.G" } [1]=> array(1) { ["AJ0001"]=> string(16) "Anwer Jaffri, MD" } [2]=> array(1) { ["AK0001"]=> string(16) "Dr.Adam Kotowski" } [3]=> array(1) { ["ALZ001"]=> string(22) "Kheir Al-Zouhayli, M.D" } [4]=> array(1) { ["AM0001"]=> string(17) "Dr.Ambrose Mgbako" } [5]=> array(1) { ["AMW001"]=> string(21) "Dr.Audrey M. Weissman" } [6]=> array(1) { ["AN0001"]=> string(25) "Dr.Anthony Napolitano,M.D" } [7]=> array(1) { ["BS0001"]=> string(17) "Bhupendra Shah,MD" } [8]=> array(1) { ["BT0001"]=> string(19) "Dr.Birendra Trivedi" } [9]=> array(1) { ["CA0001"]=> string(14) "Claudia Aroche" } [10]=> array(1) { ["CG0001"]=> string(13) "Dr.Cary Golub" } [11]=> array(1)

我的输出是:

$data["VSV001"]

但是当我回应:

function twitter_shortcode( $atts) {
    $twitter = '<a class="twitter-timeline" href="https://twitter.com/Menuka_cs3" data-widget-id="695529194466504704">Tweets by @Menuka_cs3</a>
<script>
    ! function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0],
            p = /^http:/.test(d.location) ? 'http' : 'https';
        if (!d.getElementById(id)) {
            js = d.createElement(s);
            js.id = id;
            js.src = p + "://platform.twitter.com/widgets.js";
            fjs.parentNode.insertBefore(js, fjs);
        }
    }(document, "script", "twitter-wjs");
    </script>';
    return $twitter;
}
add_shortcode( 'twitter', 'twitter_shortcode' );

我什么都没得到

3 个答案:

答案 0 :(得分:2)

尝试这样做。

while($row2=mysqli_fetch_array($result2)){
    $first=$row2['MDid'];
    $second=$row2['MD_FullName'];          
    $data[$first]= $second;
}
var_dump($data);

答案 1 :(得分:0)

使用此代码

       $data=array();
       while($row2=mysqli_fetch_array($result2))
        {
       $first=$row2['MDid'];
       $second=$row2['MD_FullName'];          

       $data[]=array($first=>$second);

        }

       var_dump($data);

不要只使用

$data["VSV001"]

你必须使用像

$data[73]["VSV001"]

而不是73使用你的索引号。

 { [0]=> array(1) { ["AB0001"]=> string(29) "Arthur Boshnack, M.D, F.A.C.G" }

喜欢

echo $data[0]["AB0001"];

您将获得类似

的输出
Arthur Boshnack, M.D, F.A.C.G

答案 2 :(得分:0)

我不想在关联数组中的while循环中连续添加值。我使用了以下技术,但是当我显示它时,它只存储最后一个值,通过搜索我发现人们也这样做。代码中有什么问题?

       $data=array(); //declare it globally, some versions of php need initialization of the variables when they are accessed out of any scope.

       while($row2=mysqli_fetch_array($result2))
       {
        $first=$row2['MDid'];
        $second=$row2['MD_FullName'];          
        $data[$first]=>$second;
       }

       var_dump($data);