2013-12-11 3 views
0

У меня есть поле базы данных с именем «производитель» с некоторыми номерами, разделенными трубой.Создание массива и получение первого значения

1572 например | 906 | 1573

Я хотел бы, чтобы выбрать первый номер и сохраните его в качестве переменной.

Это мое жалкое усилие, которое не увенчалось успехом.

$thisproductmansarray=array(); //declare the array 

$thisproductmans=$myfield["manufacturer"]; //For page title/breadcrumb etc 
$xxarray=implode("|", $thisproductmans[$key]); 
foreach($thisproductmans as $key=>$val){ 
$thisproductmansarray[]=$xxarray++; 
echo $thisproductmansarray[0]; 
} 

Может ли кто-нибудь дать мне указатель. Благодаря

+1

Здесь много ответов, но вот еще один пример: 'substr ($ string, 0, strpos ($ string, '|'));' – Drumbeg

ответ

2
$xxarray=explode("|", $thisproductmans); 
echo $xxarray[0]; // this should be what you want 
+0

В этом случае неверно(). было бы правильно, если данные хранятся в существующем массиве. – JustAPirate

+0

Да, impode OP («|», $ thisproductmans [$ key]) неверен. –

2
$data = explode('|', $the-variable-where-the-data-is-in); 
echo $data[0]; 

покажет первый номер. В вашем примере «1572».

1
<?php 
$str = '1572|906|1573'; 
$first_num = current(explode("|",$str)); 
echo $first_num; 
0

Похоже, взорваться - это то, что вы действительно хотите. explode() принимает строку с разделителями и преобразует ее в массив частей.

$thisproductmans=$myfield["manufacturer"]; //For page title/breadcrumb etc 
$xxarray=explode("|", $thisproductmans[$key]); 
if(count($xxarray) > 1) 
    echo $xxarray[0]; 

Отъезд man page для взорваться(), если вам нужно больше информации.

-1

Пример для вас, чтобы использовать его в коде

<?php 
$var = "1572|906|1573"; 

$array1 = explode("|", $var); 

$first_value = $array1[0]; 
echo $first_value; // Output here is 1572 

?> 
0

Вы можете получить первый номер напрямую, без использования массива: -

$var = "1572|906|1573"; 
list($first) = explode('|', $var); 

$first теперь будет = 1572.

See it working и list().

Если у вас есть PHP V> = 5.4 вы можете сделать это: -

$var = "1572|906|1573"; 
$first = explode('|', $var)[0]; 
var_dump($first); 

See it work.

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