2014-02-05 2 views
0

Я хочу иметь массив, который создается из базы данных для заполнения таблицыMatching строка, содержащая определенные символы в массиве массивов

array (size=2) 
    number of friends => 3 
    friends details => array (size=3) 
    0 => 
     array (size=4) 
      'bithday' => string '2000-02-04' (length=10) 
      'email' => string '[email protected]' (length=11) 
      'town' => string 'OXFORD' (length=6) 
      'status' => string 'FRIENDS' (length=5) 

    2 => 
     array (size=4) 
      'bithday' => string '2000-02-04'(length=10) 
      'email' => string '[email protected]' (length=11) 
      'town' => string 'OXFORD' (length=6) 
      'status' => string 'NOT FRIENDS' (length=9) 
    3 => 
     array (size=4) 
      'bithday' => string '2000-02-04'(length=10) 
      'email' => string '[email protected]' (length=11) 
      'town' => string 'CAMBRIDGE' (length=8) 
      'status' => string 'FRIENDS' (length=5) 

У меня есть (неудачно) будучи пытаемся сделать str_replace на электронной почте строка, если правильные условия соблюдены, поэтому я хочу, чтобы иметь возможность заменить адрес электронной почты всех моих друзей в Оксфордском с кнопкой, которая позволяет мне по электронной почте их одним нажатием

так [email protected] становится

 <button action=invitePal>Invite your pal!</button> 

Но я хочу, чтобы это произошло, только если массив сказал, что они отвечают обоим критериям, чтобы изменить его, поэтому, если у меня есть вечеринка в Оксфорде, кнопка приглашения появляется только в записи для «друзей» в Оксфорде.

+0

Вы говорите, что пытаетесь заменить номер телефона, но на самом деле вы имеете в виду строку электронной почты? – Sean

+0

Извините, это было типо, я разговаривал с кем-то, как я его написал, я имел в виду письмо да! –

+0

Это означает, что вам нужно заменить значение массива –

ответ

1

Довольно стандартный метод это было бы в цикле, хотя как так:

foreach($people as $index => $person) { 

    if($person['status'] === 'FRIENDS' && $person['town'] === 'OXFORD') { 

     // Change the original string, echo it out, or do whatever. 
     // If you need the email in this string, you can reference it via: 
     // $person['email'] 
     $people[$index]['email'] = '<button action=invitePal>Invite your pal!</button>'; 

    } 

} 

Альтернативный метод должен был бы использовать array_map и anonymous function.

Смежные вопросы