#php
#php
Вопрос:
Мне нужно разделить массив, но это не то, что я делал раньше.
Массив берется из базы данных MySQL с помощью mysql_fetch_array
:
Пример:
Array (
[0] => Audi
[make] => Audi
[1] => 80 1.3
[model] => 80 1.3
[2] => 1297
[cc] => 1297
[3] => 1297
[choice] => 1297
[4] => 60
[bhp] => 60
[5] => 08/81-03/87
[date] => 08/81-03/87
[6] => EP
[engcode] => EP
[7] => Petrol
[fuel] => Petrol
[8] => -
[notes] => -
[9] => CAM BELT KIT
[type] => CAM BELT KIT
[10] => KTB201
[partno] => KTB201
[11] => AUDI
[itemspec] => AUDI
)
Мне нужно изменить это на:
Array (
[0] => Audi
[1] => 80 1.3
[2] => 1297
[3] => 1297
[4] => 60
[5] => 08/81-03/87
[6] => EP
[7] => Petrol
[8] => -
[9] => CAM BELT KIT
[10] => KTB201
[11] => AUDI )
Я попробовал несколько методов, используя filter array, но, похоже, я не могу заставить его выводиться правильно, есть идеи?
Комментарии:
1. Первый урок, который нужно усвоить (серьезно): прочитайте документацию и прочтите ее правильно. Не каждая документация великолепна, но документация по PHP довольно хороша.
2. Привет, спасибо вам всем за вашу помощь, я начинаю просматривать mysql_fetch_array после того, как задал этот вопрос и нашел свой ответ. Извините за пустую трату времени и запутанный вопрос. Я изучаю php только с января и все самоучкой. Самое сложное, что я нахожу, — это терминология, еще раз спасибо всем, кто нашел время ответить!!
Ответ №1:
Используйте функцию правильно в первую очередь, вместо того, чтобы пытаться исправить ошибку после.
Комментарии:
1. В частности:
mysql_fetch_array($result, MYSQL_NUM);
2. Я думаю, ясно, что Игнасио хотел, чтобы OP сам нашел это в документации.
3. Привет, спасибо вам всем за вашу помощь, я начинаю просматривать mysql_fetch_array после того, как задал этот вопрос и нашел свой ответ. Извините за пустую трату времени и запутанный вопрос. Я изучаю php только с января и все самоучкой. Самое сложное, что я нахожу, — это терминология, еще раз спасибо всем, кто нашел время ответить!!
Ответ №2:
Вы можете использовать:
mysql_fetch_array ( $result, MYSQL_NUM );
Он вернет только цифровые клавиши.
Ответ №3:
Насколько я могу видеть, эти массивы одинаковы, просто вы отбросили ассоциативные ключи в пользу числовых. Какого процесса вы не можете достичь, не удаляя их?
На мой взгляд, вы должны иметь возможность использовать исходный массив для большинства целей обработки.
Комментарии:
1. Чем они одинаковы? В одном из них в два раза больше элементов, чем в другом.
2. да, но с точки зрения фактического использования массива, было бы проще обработать первый, как если бы он был вторым.
Ответ №4:
попробуйте использовать mysql_fetch_row вместо mysql_fetch_array
ссылки
Ответ №5:
Вы можете использовать array_unique
для сохранения только разных элементов из вашего массива, но я не уверен, что это лучшее решение.
Согласно документации mysql_fetch_array, «проблема» заключается в том, что по умолчанию используется режим выборки MYSQL_BOTH
, вам следует попробовать использовать MYSQL_NUM
:
$array = mysql_fetch_array($result, MYSQL_NUM);
Ответ №6:
Похоже, вы используете mysql_fetch_array($result, MYSQL_BOTH)
инструкцию. Измените его на mysql_fetch_array($result, MYSQL_NUM)
Ответ №7:
mysql_fetch_array
уже есть возможность возвращать только цифровые клавиши:
$row = mysql_fetch_array($result, MYSQL_NUM);
Надеюсь, это поможет.
(Кстати, вы бы на самом деле не назвали то, что вы просили, «разделением» массива.)