estrarre solo un tot di elementi da...array

nim

Utente Attivo
11 Ott 2011
96
0
0
salve a tutti...dopo mesi ritorno con l'ennesimo problema.
mi spiego un attimo...con facebook connect ho realizzato lo script seguente che mi permette di estrarre tutte le immagini profilo dei miei amici di facebook e me le fa apparire una sotto l'altra
lo script è questo:
PHP:
<?php
    $user = $facebook->getUser();


    if ($user) {
        $user_profile = $facebook->api('/me');
        $friends = $facebook->api('/me/friends');

        echo '<ul>';
        foreach ($friends["data"] as $value) {
            echo '<li>';
            echo '<div class="pic">';
            echo '<a href="http://www.facebook.com/' . $value["id"] . '"><img src="https://graph.facebook.com/' . $value["id"] . '/picture"/></a>';
            echo '</div>';
            echo '</li>';
        }
        echo '</ul>';
    }
?>
volevo invece fare in modo di estrarre non tutte le immagini profilo dei miei amici ma soltanto un numero scelto da me per esempio 15.
sono al corrente della funzione "array_rand" ma non so come applicarla in questo caso perchè non c'è un vero e proprio array...
qualche idea?
grazie in anticipo.
 
Ciao,

potresti bloccare l'esecuzione del ciclo incrementando una variabile

PHP:
$i = 1;
foreach ($array as $value) {

    // ........

    $i++;
    if ($i == 15) {
        exit();
    }
}

non ricordo mai se l'istruzione giusta è exit o break. Prova
 
grazie dell'aiuto ma verrebbe semplicemente così
PHP:
<?php
    $user = $facebook->getUser();


    if ($user) {
        $user_profile = $facebook->api('/me');
        $friends = $facebook->api('/me/friends');

        
$i = 1; 
        foreach ($friends["data"] as $value) {
            
            echo '<div class="pic">';
            echo '<a href="http://www.facebook.com/' . $value["id"] . '"><img width="3%" height="3%" src="https://graph.facebook.com/' . $value["id"] . '/picture"/></a>';
            echo '</div>';
            
         

        }
       
$i++; 
    if ($i == 15) { 
        break; 
    } 
    }
?>
oppure dovrei metterci un ciclo for ?
 
Va bene cosi ma l'incremento e la verifica devi inserirla nel foreach

PHP:
<?php

$user = $facebook->getUser();
if ($user) {
    $user_profile = $facebook->api('/me');
    $friends = $facebook->api('/me/friends');


    $i = 1;
    foreach ($friends["data"] as $value) {

        echo '<div class="pic">';
        echo '<a href="http://www.facebook.com/' . $value["id"] . '"><img width="3%" height="3%" src="https://graph.facebook.com/' . $value["id"] . '/picture"/></a>';
        echo '</div>';

        if ($i == 15) {
            break;
        }
        $i++;
    }
}
?>


se non si ferma a 15 cambia break; con exit();
 
Confermo l'istruzione break;

con exit(); interrompi l'esecuzione anche del resto della pagina
 

Discussioni simili