質問: explode('|',$style); これがお役に立てば幸いです。
回答: jformは、より標準的なphpコードと実際に同じことを行います。jformの定義に_libraries/joomla/form/form.php_でジャンプして、関数の場合、simplexml_load_file()と、クエリに一致する関数findfields()のループが表示されます。そして、あなたはおそらく最初のコードからパフォーマンスの向上を得るでしょう。これには2つの理由があります。最大のものはおそらく、必要な値を見つけたら中断することです。もう1つは、jformがフィールドをロードするためのxmlのパスをチェックするためにいくつかの追加の処理を追加することであり、実際には必要ありませんが、処理に追加の作業を追加します。考えられるパフォーマンスブーストは1つだけです。ループを完全にスキップし、xpathを使用して必要な正確な値を取得することです。私はxpathが得意ではないので、試してみたい場合は、そのことについてもう少し詳しく読むことをお勧めします。 http://msdn.microsoft.com/en-us/library/ms256086(v = vs.110).aspx 私はあなたのフォームデータでこれを少しテストしました、そしてこれは代わりになるはずです:_$get_xml = simplexml_load_file('templatedetails.xml'); $styles = $get_xml->xpath("//field[@name='get_styles']/@styles"); $style = (string)$styles[0]; $mystyles = explode('|',$style); _xpathは配列を返します。この配列から唯一のインスタンスを取得し、強制的に文字列にします。それから、あなたのようにそれを爆発させます。