Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    array multidimensionale e indici

    Ho un array multiplocosì

    array(
    Array('id' => 1, 'name' => 'prova', 'cognome' => 'seconda prova')

    Array('id' => 2, 'name' => 'prova2', 'cognome' => 'prova')

    Array('id' => 3, 'name' => 'prova3', 'cognome' => 'text')

    Array('id' => 4, 'name' => 'prova4', 'cognome' => 'prova')
    Array('id' => 5, 'name' => 'prova3', 'cognome' => 'seconda prova')
    )

    Ora come ricavo il name di tutti gli array che hanno come indice 'cognome' = prova.
    Oltre al foreach?

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    143
    Codice PHP:
    $foo = array(
    array(
    'id' => 1'name' => 'prova''cognome' => 'seconda prova'),

    array(
    'id' => 2'name' => 'prova2''cognome' => 'prova'),

    array(
    'id' => 3'name' => 'prova3''cognome' => 'text'),

    array(
    'id' => 4'name' => 'prova4''cognome' => 'prova'),
    array(
    'id' => 5'name' => 'prova3''cognome' => 'seconda prova')
    );

    foreach (
    $foo as $value1) {
        foreach (
    $value1 as $key=>$value) {
            if (
    $key == 'cognome' && $value == 'prova') {
                echo 
    $value.'
    '
    ;
            }
        }

    Oppure dai un'occhiata qui
    http://www.codeplex.com/PHPLinq

  3. #3
    In alternativa al foreach anche così:
    Codice PHP:
    <?php
    $arr
    =array(
    array(
    'id' => 1'name' => 'prova''cognome' => 'seconda prova'),

    array(
    'id' => 2'name' => 'prova2''cognome' => 'prova'),

    array(
    'id' => 3'name' => 'prova3''cognome' => 'text'),

    array(
    'id' => 4'name' => 'prova4''cognome' => 'prova'),
    array(
    'id' => 5'name' => 'prova3''cognome' => 'seconda prova')
    );
    for(
    $i=0;$i<count($arr);$i++)
    {
    echo 
    $arr[$i]['cognome']."
    "
    ;
    }
    ?>

  4. #4
    Questo è l'array
    Codice PHP:
    Array
    (
        [
    0] => Array
            (
                [
    id] => 1
                
    [season_id] => 1
                
    [treatment_type] => 1
                
    [room_id] => 1
                
    [base_price] => 120
            
    )

        [
    1] => Array
            (
                [
    id] => 2
                
    [season_id] => 1
                
    [treatment_type] => 1
                
    [room_id] => 2
                
    [base_price] => 140
            
    )

        [
    2] => Array
            (
                [
    id] => 3
                
    [season_id] => 1
                
    [treatment_type] => 1
                
    [room_id] => 3
                
    [base_price] => 160
            
    )

        [
    3] => Array
            (
                [
    id] => 4
                
    [season_id] => 1
                
    [treatment_type] => 1
                
    [room_id] => 4
                
    [base_price] => 180
            
    )

        [
    4] => Array
            (
                [
    id] => 5
                
    [season_id] => 1
                
    [treatment_type] => 1
                
    [room_id] => 5
                
    [base_price] => 200
            
    )

        [
    5] => Array
            (
                [
    id] => 21
                
    [season_id] => 2
                
    [treatment_type] => 1
                
    [room_id] => 1
                
    [base_price] => 120
            
    )


    Devo stampare il valore 'base_price' dell'array con seasons_id = 2 and treatment_type = 1 and room_id = 1

  5. #5
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Codice PHP:
    function cerca($array){
            return 
    $array['seasons_id'] == 2  && $array['treatment_type'] == && $array['room_id'] == 1;
    }
    $bla array_shift(array_filter($array,'fv'));
    echo 
    $bla['base_price'];
    //se ti aspetti valori multipli, al posto di array_shift fai un ciclo sul risultato di filter per stamparli tutti. 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.