Intereting Posts
Пользовательский тип сообщения и пользовательская таксономия 404 на стр. 2 Добавить звуковое сообщение с смартфона The_excerpt () не анализирует <! – больше -> – как это изменить? Отправка писем multipart (text / html) через wp_mail () скорее всего приведет к запрету вашего домена Удалить все пользовательские вложения Опубликовать публикацию в будущем дату автоматически Анимированный Gif как изображение сортировать результаты поиска по пользовательским полям, используя раскрывающийся список Как сохранить значение раскрывающегося списка настраиваемого поля для публикации ссылок? Сортировка типа персонализированного типа по идентификатору категории, а затем название сообщения Справка по разбивке на страницы сумасшедших пользовательских авторов Как заказать Комментарий по заголовку сообщения? генерировать уникальный слизнь при вставке сообщения Может ли деактивировать плагин, иногда «перезагружать» настройки внутри этого плагина? Не удалось войти в систему из-за неправильного пароля сразу после регистрации?

CMB2 – array_search или in_array from repeat_group и значения, разделенные запятыми

У меня эти данные поступают из $myoptions = my_get_option('my_repeat_group');

$p = 'T1X 0L6'; // find me

print_r($myoptions) =

 Array ( [0] => Array ( [region_name] => Alberta [postal_codes] => T1X 0L3,T1X 0L4,T1X 0L5,T1X 0L6,T1X 0L7 [region_discount] => .5 ) [1] => Array ( [region_name] => Ontario [postal_codes] => T1M 0W3,T1M 0W4,T1M 0W5,T1M 0W6,T1M 0W7 [region_discount] => .25 ) ) 

 foreach ( $myoptions as $key => $value ) { if ( in_array($p, $value['postal_codes'] ) { // need to know $key of which array the $p was found, // in this case, I would like to find [0] } } 

Я хотел бы найти $p внутри $value['postal_codes'] , и когда я его найду, верните ключ, из которого он пришел.

Solutions Collecting From Web of "CMB2 – array_search или in_array from repeat_group и значения, разделенные запятыми"

$value['postal_codes'] не является array это string , вам нужно либо взорвать ее, как:

 foreach ( $myoptions as $key => $value ) { if (in_array($p,explode(","$value['postal_codes']){ // need to know $key of which array the $p was found, in this case I would like to find [0] } } 

Или поиск по строке

 foreach ( $myoptions as $key => $value ) { if (strstr($value['postal_codes'],$p){ } } 

Или наиболее эффективным способом будет использование array_search при взорванном виде следующим образом:

 foreach($myoptions as $key => $options) { $keys_containing_p[$key] = array_search($p,explode(",",$options['postal_codes'])); }