PHP разделенный массив

#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

ссылки

http://nz.php.net/manual/en/function.mysql-fetch-row.php

http://nz.php.net/manual/en/function.mysql-fetch-array.php

Ответ №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);
  

Надеюсь, это поможет.

(Кстати, вы бы на самом деле не назвали то, что вы просили, «разделением» массива.)