内部に可変数の空のオブジェクトを含む多次元配列を使用しています。空のものを単純に unset() するスクリプトを作成しましたが、正常に動作します。ただし、echo() 関数がなくても、ループの実行時に空でない値が出力され、その理由がわかりません。
私のループを実行する配列の例:
Array
(
[0] => Group Object
(
[_title] => <strong>Abdomen</strong><ul>
[_issues] => <li><strong>Ascites</strong>: 1</li><li><strong>Blood Clot</strong>: 2</li>
)
[1] => Group Object
(
[_title] => <strong>Air Sac</strong><ul>
[_issues] => <li><strong>Cloudy</strong>: 1</li>
)
[2] => Group Object
(
[_title] => <strong>Beak Treatment</strong><ul>
[_issues] => <li><strong>Severe</strong>: 3</li>
)
[3] => Group Object
(
[_title] =>
[_issues] =>
)
[4] => Group Object
(
[_title] =>
[_issues] =>
)
[5] => Group Object
(
[_title] => <strong>Crop</strong><ul>
[_issues] => <li><strong>Impacted</strong>: 2</li>
)
[6] => Group Object
(
[_title] => <strong>Feathering</strong><ul>
[_issues] => <li><strong>Soiled</strong>: 1</li>
)
[7] => Group Object
(
[_title] => <strong>Feet</strong><ul>
[_issues] => <li><strong>Swollen</strong>: 1</li>
)
[8] => Group Object
(
[_title] =>
[_issues] =>
)
[9] => Group Object
(
[_title] =>
[_issues] =>
)
[10] => Group Object
(
[_title] => <strong>Heart</strong><ul>
[_issues] => <li><strong>Compromised</strong>: 1</li>
)
[11] => Group Object
(
[_title] => <strong>Hock</strong><ul>
[_issues] => <li><strong>Clear Exudate</strong>: 2</li>
)
[12] => Group Object
(
[_title] =>
[_issues] =>
)
[13] => Group Object
(
[_title] =>
[_issues] =>
)
[14] => Group Object
(
[_title] =>
[_issues] =>
)
[15] => Group Object
(
[_title] => <strong>Kidney</strong><ul>
[_issues] => <li><strong>Injured</strong>: 2</li>
)
)
配列内の空のオブジェクトをクリアする foreach() ループ:
foreach ($issues as $key => $link) {
if ($issues[$key] != '') {
unset($issues[$key]);
}
}
最後に、ループが実行されたときに出力される出力は次のとおりです。
<strong>Abdomen</strong><ul>
<li><strong>Ascites</strong>: 1</li>
<li><strong>Blood Clot</strong>: 2</li>
<strong>Air Sac</strong><ul>
<li><strong>Cloudy</strong>: 1</li>
<strong>Beak Treatment</strong><ul>
<li><strong>Severe</strong>: 3</li>
<strong>Crop</strong><ul>
<li><strong>Impacted</strong>: 2</li>
<strong>Feathering</strong><ul>
<li><strong>Soiled</strong>: 1</li>
<strong>Feet</strong><ul>
<li><strong>Swollen</strong>: 1</li>
<strong>Heart</strong><ul>
<li><strong>Compromised</strong>: 1</li>
<strong>Hock</strong><ul>
<li><strong>Clear Exudate</strong>: 2</li>
<strong>Kidney</strong><ul>
<li><strong>Injured</strong>: 2</li>
明らかに、空のグループを削除して、何も印刷しないようにしたいだけです。どんな助けでも大歓迎です。