Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 08.06.2011
Сообщений: 4

Работа со строками

12.09.2012, 12:00. Показов 1141. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ряд целых чисел №1:
100, 4325, 44, 876, 4434, 77655, 2, 976467, 654, 3456, 34444, 7878, 8268, 9435, 5 (ПЕРЕМЕННАЯ_1)
И есть ряд целых чисел №2:
2, 4325, 5, 654, 44 (ПЕРЕМЕННАЯ_2)
Вопрос:
Как сделать наиболее эффективно и правильно :
  • 1. Найти все переменные, которых нет во 2 ряде, но есть в первом.(ПЕРЕМЕННАЯ_3)
  • 2. С ряда чисел на первом шаге (ПЕРЕМЕННАЯ_3) взять любое число (рандомно или по-порядку - не имеет значения) и создать ПЕРЕМЕННАЯ_4
  • 3. К ПЕРЕМЕННАЯ_2 добавится новое число, которое было внесено вПЕРЕМЕННАЯ_4
?

Заранее спасибо, за ответ.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2012, 12:00
Ответы с готовыми решениями:

Работа со строками, заполнить компоненты строками из файла
Привет! Нужна помощь в заполнении формы В общем, есть форма отправки письма. У нее есть 2 функции, сохранить письмо и открыть письмо (на...

Работа со строками. Функции работы со строками
Дана строка символов. В заданном тексте определить позицию первой точки ‘ . ‘.

Работа со строками(операции над строками)
Пусть дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами...

8
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
12.09.2012, 12:19
Представить ряд в виде массива.
Открыть мануал http://nl3.php.net/manual/ru/ref.array.php

1) Вспомнить школьный курс алгебры, и что такое расхождение.
Посмотреть функцию http://nl3.php.net/manual/ru/f... y-diff.php
Видимо это то что нужно что бы сделать новый массив - переменную 3.

2) Посмотреть на функции
http://nl3.php.net/manual/ru/f... y-rand.php
http://nl3.php.net/manual/ru/f... -slice.php
http://nl3.php.net/manual/ru/function.shuffle.php
И выбрать любой их способов, который понравится.
Создать новый массив - переменная 4.

3) Опять же, илбо по ключам, либо с помощью
http://nl3.php.net/manual/ru/f... -slice.php
Взять из 4го массива что вам нужно и добавить во второй, либо просто добавить, например
PHP
1
$array2[] = ...
или же с помощью http://nl3.php.net/manual/ru/f... -merge.php и http://nl3.php.net/manual/ru/f... -slice.php

Добавлено через 9 минут
Ещё что бы из строки в массив и обратно преобразовать, вам понадобятся
http://nl3.php.net/manual/ru/function.implode.php
http://nl3.php.net/manual/ru/function.explode.php
0
 Аватар для lestat89
29 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
12.09.2012, 13:59
Фигы ты иинфы понаписал я с 2004 г пишу, ито половину этого не использовал никогда ))
Я понял это так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$a =  array(100, 4325, 44, 876, 4434, 77655, 2, 976467, 654, 3456, 34444, 7878, 8268, 9435, 5);
$b = array (2, 4325, 5, 654, 44);
$c = array();
 
foreach($a as $v)
{
  if(!in_array($v,$b))
  $c[] = $v;
}
 
$d = $c[rand(0,count($c)-1)];
$b[] = $d;
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
12.09.2012, 14:03
чем больше элементов будет в массиве, тем больше станет разница между использованием цикла вместо array_diff
Цикл будет медленней работать чем функция.
0
 Аватар для lestat89
29 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
12.09.2012, 14:09
Ага, на 0.00000000000000000000000000000000000000 00000001 секунду
0
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
12.09.2012, 14:20
Цикл:
PHP
1
2
3
4
5
foreach($a as $v)
{
  if(!in_array($v,$b))
  $c[] = $v;
}
Функция:
PHP
1
$c = array_diff($a, $b);
Код короче, и быстрей работает, я не знаю что вам не нравится, дело ваше К чему тогда вообще тема если вы сделали сами?
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,845
12.09.2012, 15:09
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
К чему тогда вообще тема если вы сделали сами?
не он создал тему
Цитата Сообщение от lestat89 Посмотреть сообщение
Ага, на 0.00000000000000000000000000000000000000 00000001 секунду
куда более серьезнее если в массиве например будет 1к элементов , + in_array вообще не быстрая функция , быстрее числа тогда в ключ добавлять , а затем через isset проверять
0
0 / 0 / 0
Регистрация: 08.06.2011
Сообщений: 4
12.09.2012, 17:51  [ТС]
DrobyshevAlex, lestat89, crautcher
Спасибо вам.
Полезные советы.
Прошу тему не удалять только.
0
 Аватар для lestat89
29 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
12.09.2012, 18:05
Цитата Сообщение от DrobyshevAlex Посмотреть сообщение
Цикл:
PHP
1
2
3
4
5
foreach($a as $v)
{
  if(!in_array($v,$b))
  $c[] = $v;
}
Функция:
PHP
1
$c = array_diff($a, $b);
Код короче, и быстрей работает, я не знаю что вам не нравится, дело ваше К чему тогда вообще тема если вы сделали сами?
Классно запонмю Мне все нравится, но я лентяй и не люблю запариваться) Делаю как умею
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.09.2012, 18:05
Помогаю со студенческими работами здесь

Задание по темам: ООП, исключения, работа со строками (возможно применение коллекций List), работа с компоновщиком
ТЯЖЕЛО РАБОТАТЬ С КОМПОНОВЩИКОМ. БУДУ РАД ВАШИМ ОТВЕТАМ. 1. Ознакомиться с принципом работы структурного шаблона проектирования...

Работа со строками
Подскажите запускаю прогу, а она не хочет запускать что ето можит бить ??? Окно открываться потом, видает ошибку помогите плиз! Вот...

Работа со строками
Дана строка содержащая английский текст. Найти количество слов, начинающихся с буквы b aliba, зачем ЧЕТЫРЕ(!!!) дубля темы?! Все дубли...

работа со строками
:help:Даны две строки st1 и st2. Разработайте процедуру, которая по значению первого пара-метра выполняет следующие операции над данными...

Работа со строками
Дана строка s, состоящая из слов, разделенных между собой одним или несколькими пробелами. Если количество слов в строке s четно, то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru