Markus111
16.05.2014 - 13:18
есть 2 массива (первый это результат json_decode, а второй это результат
while($myrow=mysql_fetch_array($result)){
$arr_campaign[] = $myrow;
}
)
Array
(
[data] => Array
(
[0] => Array
(
[CampaignID] => 4550967
[Name] => name0
)
[1] => Array
(
[CampaignID] => 5278326
[Name] => name1
)
[2] => Array
(
[CampaignID] => 5329393
[Name] => name2
)
)
)
и
Array
(
[0] => Array
(
[id_campaign] => 4550967
[name] => name0
)
[1] => Array
(
[id_campaign] => 5278326
[name] => name11
)
)
Как проверить их на одинаковые элементы
1. Если CampaignID == id_campaign , то проверить Name == name если нет, тогда записать в новый массив CampaignID и Name, по этому новому массиву потом будет редактироваться второй
2. Если в первом есть CampaignID , а у второго нет таково id_campaign, тогда добавить в новый массив CampaignID и Name, по этому новому массиву потом будет добавляться к второму
3. Если у второго есть id_campaign которого нет у первого, тогда добавить в новый и потом будет удаляться с второго
Есть идеи как реализовать?
_____________
Womans in your town
Игорь_Vasinsky
16.05.2014 - 13:26
а у вас какие идеи по этому поводу?
рассматривали ли вы циклы?
рассматривали ли вы функции для работы с массивами?
рассматривали ли вы создание 2х упрощённых массивов и сравнивание их штатными средствами php ?
_____________
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
Markus111
16.05.2014 - 13:30
Я думал о циклах(вызывать постоянно функцию в которой будет цикл с проверкой), но потом задумался о том, что если будет очень много записей, тогда будет долго работать скрипт
_____________
Womans in your town
Игорь_Vasinsky
16.05.2014 - 14:03
1. не обязательно вытаскивать сразу все данные, можно группами. у mysql есть LIMIT
а эти группы крутить в цикле.
2. одними циклами - хоть как накладно - если упростить массивы до одномерных - то можно использовать array_diff()
_____________
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
Markus111
16.05.2014 - 14:26
пробую
$result = array();
$result1 = array();
foreach ($arr_campaign as $v) {
for($i = 0;$i < count($arr_curl_campaign['data']);$i++){
if (in_array($v['id_campaign'], $arr_curl_campaign['data'][$i]) && !in_array($v['id_campaign'], $result)) {
array_push($result, array($v['id_campaign'],$arr_curl_campaign['data'][$i]['Name']));
}
}
}
print_r($result);
выводит те которые есть в первого, а как вывести которых нет не пойму
_____________
Womans in your town
Игорь_Vasinsky
16.05.2014 - 15:44
я говорил о другом.
array_diff() - поможет тебе найти отсутствующие элем-ны в обоих массивах (по очереди) - но для этого нужно сделать одномерные массивы - с данными, которые ты сравниваешь
_____________
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
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.