Вероятно, самый простой способ сделать это - вернуть файл PHP в JSON. Итак, допустим, у вас есть файл query.php
,
$ result = mysql_query ("SELECT field_name, field_value FROM the_table"); $ to_encode = array (); while ($ row = mysql_fetch_assoc ($ result)) {$ to_encode [] = $ row; } echo json_encode ($ to_encode);
Если вам ограничено использование document.write (как вы заметили в комментариях ниже), дайте вашим полям атрибут id следующим образом: & lt; input type = "text "id =" field1 "/ & gt;
. Вы можете ссылаться на это поле с помощью этого jQuery: $ ("# field1"). Val ()
.
Вот полный пример с HTML. Если мы предполагаем, что ваши поля называются field1
и field2
, тогда
& lt;! DOCTYPE html & gt; & Lt; & HTML GT; & Lt; & головка GT; & lt; title & gt; Это о нем & lt; / title & gt; & Lt; / головка & GT; & Л; тело & GT; & Lt; & форма GT; & lt; input type = "text" id = "field1" / & gt; & lt; input type = "text" id = "field2" / & gt; & Lt; / форма & GT; & Lt; / тело & GT; & lt; script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" & gt; & lt; / script & gt; & Lt; & сценарий GT; $ .getJSON ('data.php', function (data) {$ .each (data, function (fieldName, fieldValue)) {$ ("#" + fieldName) .val (fieldValue);});}); & Lt; / сценарий & GT; & Lt; / HTML & GT;
Это вставка после того, как был построен HTML, что может быть проще всего. Если вы хотите заполнить данные при динамическом построении HTML, вы все равно хотите, чтобы файл PHP возвращал JSON, вы просто добавляете его непосредственно в атрибут value
.
Библиотека коллекций Scala предоставляет специализированные реализации для наборов из менее 5 значений (см. источник ). Итераторы для этих реализаций возвращают элементы в том порядке, в котором они были добавлены , а не в согласованном порядке на основе хешей, используемом для больших наборов.
Кроме того, sameElements
( scaladoc ) определен на Iterable
s (он реализован в IterableLike
- см. источник ); он возвращает true, только если итераторы возвращают одни и те же элементы в одном порядке.
Итак, хотя Set(1,2,3)
и Set(3,2,1)
должны быть эквивалентными, их итераторы различны, поэтому sameElements
возвращает false.
Такое поведение является неожиданным и, возможно, является ошибкой, поскольку оно нарушает математические ожидания для Set (но только для определенных размеров Set!).
As И.К. указывает на комментарии, ==
отлично работает, если вы просто сравниваете Sets друг с другом, то есть Set(1,2,3) == Set(3,2,1)
. Однако sameElements является более общим в том смысле, что он может сравнивать элементы любых двух итераций. Например, List(1, 2, 3) == Array(1, 2, 3)
является ложным, но List(1, 2, 3) sameElements Array(1, 2, 3)
является истинным.
В более общем плане, равенство может сбивать с толку - обратите внимание, что:
List(1,2,3) == Vector(1,2,3)
List(1,2,3) != Set(1,2,3)
List(1,2,3) != Array(1,2,3)
Array(1,2,3) != Array(1,2,3)
У меня есть отправлено fix для упражнений Scala , которые объясняют проблему sameElements
.
List(1,2,3) sameElements List(3,2,1)
для оценкиtrue
, потому что оба содержат одни и те же элементы i>. Если порядок имеет значение, то какова предполагаемая разница междуsameElements
и==
? – Zoltán 12 March 2015 в 12:40==
для массивов (или, по крайней мере, не больше). Поэтому==
иsameElements
могут создавать разные ответы для массивов. – Paul Draper 16 May 2016 в 21:05