Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: 2 массива, замена
 
 автор: sl1p   (27.12.2009 в 02:13)   письмо автору
 
 

есть массив1
$arr = array(0=>'x', 1=>'y');
и массив2
$arr2 = array(1=>'z');

есть ли функция чтобы соединить массивы и получить такое:

array(0=>'x', 1=>'z');

тобишь существующие ключи первого массива во втором заменить значениями второго.

  Ответить  
 
 автор: sim5   (27.12.2009 в 10:07)   письмо автору
 
   для: sl1p   (27.12.2009 в 02:13)
 

И по какому условию должны объеденяться массивы? По порядку ключей, по значениям?

  Ответить  
 
 автор: sl1p   (27.12.2009 в 14:08)   письмо автору
 
   для: sim5   (27.12.2009 в 10:07)
 

угу, ключами второго заменить первый

  Ответить  
 
 автор: sim5   (27.12.2009 в 14:27)   письмо автору
 
   для: sl1p   (27.12.2009 в 14:08)
 

Это не условие, это желание. Условие определяет нечто иное.

  Ответить  
 
 автор: sl1p   (27.12.2009 в 14:31)   письмо автору
 
   для: sim5   (27.12.2009 в 14:27)
 

Непонял но, что тут не понятного?:)

  Ответить  
 
 автор: Diplex   (27.12.2009 в 10:10)   письмо автору
 
   для: sl1p   (27.12.2009 в 02:13)
 

> "тобишь существующие ключи первого массива во втором заменить значениями второго."

Начал вчитываться, порадовало)) Мозг off

  Ответить  
 
 автор: Faatt   (27.12.2009 в 13:53)   письмо автору
 
   для: sl1p   (27.12.2009 в 02:13)
 

Насчёт встроенной функции не знаю, но можно написать свою:

<?
$arr 
= array(0=>'x'1=>'y');
$arr2 = array(1=>'z');
foreach(
$arr as $key => $value)
{
  if (
$arr2[$key] == true)
  {
    
$arr[$key] = $arr2[$key];
  }
}
?>

  Ответить  
 
 автор: sl1p   (27.12.2009 в 14:08)   письмо автору
 
   для: Faatt   (27.12.2009 в 13:53)
 

ну это понятно, просто думаю что такая функция существует:)

  Ответить  
 
 автор: ~AquaZ~   (27.12.2009 в 20:17)   письмо автору
 
   для: Faatt   (27.12.2009 в 13:53)
 

Если ключи массива - числа по порядку от 0, это будет работать быстрее.

<?
$arr 
= array(0=>'x'1=>'y');
$arr2 = array(1=>'z');
for(
$i 0$i sizeof($arr); $i++)
{
  if (!empty(
$arr2[$i]))
  {
    
$arr[$i] = $arr2[$i];
  }
}
?>

  Ответить  
 
 автор: Fuelen   (27.12.2009 в 17:44)   письмо автору
 
   для: sl1p   (27.12.2009 в 02:13)
 

http://php.su/functions/?array_merge

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования