从对象数组中返回数组中的多个值

时间:2017-05-27 23:15:36

标签: php

我运行的函数返回以下内容:

$slugnames = array(groups,london)

我想把slug名称拉成一个更简单的数组:

echo $memberships[0]->plan->slug;

我可以使用以下内容获得单独的slug名称:

<!-- modal login form -->
<div id="login-modal" class="modal fade" aria-labelledby="myModalLabel" aria-hidden="true" tabindex="-1" role="dialog">
    <div class="modal-dialog">
        <div class="login-modal-container">
            <form id="login-form" role="form">
                <div class="modal-body">
                    <h4>Login To Your Account </h4>
                    <div id="err-msg"></div>
                    <div class="form-group">
                        <input type="text" id="email" name="email" placeholder="Your email address" class="form-control input-lg" />
                    </div>
                    <div class="form-group">
                        <input type="password" id="password" name="password" placeholder="Password" class="form-control input-lg" />
                    </div>
                    <div class="form-group">
                        <div id="captcha"></div>
                    </div>
                    <div class="form-group">
                        <input type="submit" id="login" name="login" value="Sign In" class="btn btn-primary btn-block btn-lg" />
                    </div>
                </div>
                </form>
        </div>
    </div>
</div>

但我希望所有人都在阵中。

我知道我必须使用&#39; foreach&#39;做一些事情。但不确定是什么!

任何建议都非常感谢。

3 个答案:

答案 0 :(得分:1)

试试这段代码。应该解决你的问题。

$slugs = [];
foreach ($memberships as $item) {
    $slugs[] = $item->plan->slug;
}
print_r($slugs); // view result

答案 1 :(得分:0)

作为循环的替代方法您可以使用array_map

$slugs = array_map(function($membership){
   return $membership->plan->slug;
   }, $memberships);

答案 2 :(得分:0)

您也可以使用array_walk(),

$slugs = [];
array_walk($memberships, function($v, $k) use($slugs) {
  $slugs[] = $v->plan->slug;
});