PHP: найти номер индекса массива? - PullRequest
0 голосов
/ 16 июня 2011

Для тех, кто действительно хочет испытаний!:)

Как мне найти индекс eirepanel_inline_ads_options_name, используя такую ​​строку, как Wonder Bingo = 0

array(4) {
  ["eirepanel_inline_ads_options_saved"]=>
  string(4) "true"
  ["eirepanel_inline_ads_options_name"]=>
  array(2) {
    [0]=>
    string(12) "Wonder Bingo"
    [1]=>
    string(10) "City Bingo"
  }
  ["eirepanel_inline_ads_options_affiliate_link"]=>
  array(2) {
    [0]=>
    string(20) "/visit/wonder_bingo/"
    [1]=>
    string(17) "/visit/city_bingo"
  }
  ["eirepanel_inline_ads_options_thumbnail"]=>
  array(2) {
    [0]=>
    string(45) "http://www.freenodepositbingo.co.uk/image.png"
    [1]=>
    string(46) "http://www.freenodepositbingo.co.uk/image2.png"
  }
}

Ответы [ 3 ]

0 голосов
/ 16 июня 2011

Извините, ребята, просто разобрались.

echo $key = array_search('WonderBingo', $eirepanel_inline_ads_options['eirepanel_inline_ads_options_name']); 
0 голосов
/ 16 июня 2011

Толкование требований как Wonder Bingo = 0 означает 0 индекс искомого ключа равен "Wonder Bingo":

function find($needle, $haystack) {
    preg_match('/^(.+) = (\d+)$/', $needle, $matches);
    foreach ($haystack as $key => $value) {
        if (isset($value[$matches[2]]) && $value[$matches[2]] == $matches[1]) {
            return $key;
        }
    }
}
0 голосов
/ 16 июня 2011
$str = preg_replace('/ = \d+$/', '', 'Wonder Bingo = 0');

$key = array_search($str, $array['eirepanel_inline_ads_options_name']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...