[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Замена значений по ключу массива
kreativ207
Помогите найти в чем ошибка
Есть массивы, хочу заменить значения массива по ключам второго массива

$post = Array(1 => 3,5 => 6,7 => 4);
$bas = Array (1 => 1,5 => 1,7 => 1);

foreach($post as $key => $val){
$s = array_search($key,$bas);
if($s !== false){
$bas[$s] = $val;
}

}

print_r($bas);


Не пойму почему if() срабатывает только один раз
Игорь_Vasinsky
php 5.4 ? http://php.net/manual/ru/function.array-combine.php
моложе?

$post = Array(1 => 3,5 => 6,7 => 4);
$bas = Array (1 => 1,5 => 1,7 => 1);

foreach($bas as $k=>$v)
if(isset($bas[$k]))
$post[$k] = $bas[$k];


echo '<pre>' . print_r($post, 1) . '</pre>';


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeiss
Цитата (kreativ207 @ 27.01.2015 - 16:07)
Есть массивы, хочу заменить значения массива по ключам второго массива

По-моему, под это определение вполне подходит такой код:
$post = Array(1 => 3,5 => 6,7 => 4);
$bas = Array (1 => 1,5 => 1,7 => 1);

foreach($post as $key => $val){

$bas[$key]=$val;

}
print_r($bas);


PS. Или наоборот массивы $bas и $post, смотря какой считать первым, а какой вторым

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Игорь_Vasinsky
Цитата
$bas[$key]=$val;

я бы не был так уверен что массивы будут равнозначные. от того и предложил свой код

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kreativ207
Спасибо, немножко переделал под себя заработало.
неправильно написал вид массива $bas = Array ('id' => '54c625576064c1',1 => 1,5 => 1,7 => 1);
Я хотел взять из приходящего массива $post значения и присвоить их в $bas по ключам
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.