0

これを達成することは可能ですか?

私はいくつかの配列を持っています

Array
(
    [1] => Model_Like Object
        (
            [_is_new:protected] => 
            [_frozen:protected] => 
            [_data:protected] => Array
                (
                    [id] => 1
                    [user_id] => 5
                    [liked_by] => 1
                )

            [_custom_data:protected] => Array
                (
                )

            [_original:protected] => Array
                (
                    [id] => 1
                    [user_id] => 5
                    [liked_by] => 1
                )

            [_data_relations:protected] => Array
                (
                )

            [_original_relations:protected] => Array
                (
                )

            [_reset_relations:protected] => Array
                (
                )

            [_view:protected] => 
            [_iterable:protected] => Array
                (
                )

        )

    [2] => Model_Like Object
        (
            [_is_new:protected] => 
            [_frozen:protected] => 
            [_data:protected] => Array
                (
                    [id] => 2
                    [user_id] => 5
                    [liked_by] => 2
                )

            [_custom_data:protected] => Array
                (
                )

            [_original:protected] => Array
                (
                    [id] => 2
                    [user_id] => 5
                    [liked_by] => 2
                )

            [_data_relations:protected] => Array
                (
                )

            [_original_relations:protected] => Array
                (
                )

            [_reset_relations:protected] => Array
                (
                )

            [_view:protected] => 
            [_iterable:protected] => Array
                (
                )

        )

    [4] => Model_Like Object
        (
            [_is_new:protected] => 
            [_frozen:protected] => 
            [_data:protected] => Array
                (
                    [id] => 4
                    [user_id] => 5
                    [liked_by] => 6
                )

            [_custom_data:protected] => Array
                (
                )

            [_original:protected] => Array
                (
                    [id] => 4
                    [user_id] => 5
                    [liked_by] => 6
                )

            [_data_relations:protected] => Array
                (
                )

            [_original_relations:protected] => Array
                (
                )

            [_reset_relations:protected] => Array
                (
                )

            [_view:protected] => 
            [_iterable:protected] => Array
                (
                )

        )

)

そして、一致する結果を1つだけ表示したいと思います。

<?php foreach ($user->likes as $likes): ?>
<?php if($likes['liked_by'] == $logged_in_user_id): ?>
     <?php echo "you like it" ?>
<?php else: ?>
    <?php echo "you dont like it" ?>
<?php endif; ?>
<?php endforeach; ?>

このようにして、次の結果が得られます

you like it  you dont like it    you dont like it

matchigの結果のみを表示する場所はありますか?

4

3 に答える 3

1

return;ループから飛び出す使用

<?php 
   $result = "you dont like it";
   foreach ($user->likes as $likes) {
     if($likes['liked_by'] == $logged_in_user_id) {
       $result = "you like it";
     }
   }
   echo $result;
?>
于 2012-11-18T16:01:48.453 に答える
0

試合に出たときにループから飛び出すことができます。これを実現するには、フラグ変数を使用する方法から、試合の制御フローを中断する方法まで、さまざまな方法があります。

于 2012-11-18T15:55:08.343 に答える
0

または、likes配列をフィルタリングして、ユーザーのlikesのみを含めることもできます。その後、その配列の最初のエントリを取得します。これは最初の「いいね」です。あなたに印象を与えるために:

$likesOfUser = array_filter($user->likes, function($c) use ($logged_in_user_id)
{
    return $c['liked_by'] == $logged_in_user_id;
});

$like = array_shift($likesOfUser);

しかし、これは多分やや上を超えており、別の配列でいいねが必要な場合にのみ推奨されます。

于 2012-11-18T16:04:19.180 に答える