Я борюсь с этой проблемой и на самом деле решил ее один раз, но до сих пор не понимаю, в чем проблема. Я продолжаю работать в «Недопустимое смещение строки». Хорошо, да, у меня есть массив. Да, у него есть ключи, к которым я пытаюсь получить доступ, а значения для некоторого ключа - это строки. По какой-то магической причине все работает в одном месте и не в другом. Кроме того, интересно то, что когда я пытаюсь var dump часть массива, все выглядит отлично (возможно, из-за недостатка знаний).Недопустимое смещение строки php
Благодарим вас за помощь! Попробуйте объяснить просто. У меня когда-то был парень, который полностью переписал мой код. Это здорово, но я пытаюсь учиться, и он просто дал мне покой пирога, слишком большой для меня, чтобы укусить.
Вот код * Часть, которая перекликается с кодом, находится внизу этого блока ниже.
$artists = get_artists_all();
foreach ($artists as $artists_id => $artist) {
if (isset($_GET["id"])) {
$artists_id = $_GET["id"];
if(isset($artists["$artists_id"])){
$artist = $artists[$artists_id];
}
}
if (!isset($artist)){
header("Location:".BASE_URL."artists/");
exit();
}
foreach ($artist as $work) {
if (isset($_GET["id"])) {
$artist_id = $_GET["id"];
if(isset($artist["$artist_id"])){
$work = $artist[$artist_id]["id"];
}
}
if (!isset($work)){
header("Location:".BASE_URL."artist/");
exit();
}
}
}
echo "<ul>";
foreach ($artist as $work){
echo "<pre>";
echo $work["name"] . "\n";
echo $work["title"];
echo "</pre>";
}
echo '</ul>';
Вот ошибка, которую я получаю. Обратите внимание, что, несмотря на ошибки, он все еще показывает требуемую информацию
Предупреждение: Illegal строка смещения 'имя' в C: \ XAMPP \ HTDOCS \ художников \ artist.php на линии 52
предупреждения: Illegal строка смещения «названия» в C: \ XAMPP \ HTDOCS \ художников \ artist.php на линии 53
Анатолий Зверева «Портрет Владимир Немухине» Анатолий Зверев «Закат» Анатолий Зверев «Молодые Женщина "
И последнее, но не менее важное - это часть массива, с которым я работаю.
$zverev = array(
"name" => "Anatoly Zverev",
$zverev[] = array(
"name" => "Anatoly Zverev",
"title" => '"'."Portrait of Vladimir Nemukhin".'"',
"year" => 1982,
"media" => "Mixed media on paper",
"dimentions" => "H:" . 18.5 . " x W:" . 14 . "in",
"availability" => "Sold",
"thumb" => IMG_PATH . "anatoly_zverev".THUMB_PATH. "Thumb_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg",
"lg" => IMG_PATH . "anatoly_zverev" . LG_PATH ."Lg_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
),
$zverev[] = array(
"name" => "Anatoly Zverev",
"title" => '"'."Sunset".'"',
"year" => 1980,
"media" => "Mixed media on paper",
"dimentions" => "H:" . 33.7 . " x W:" . 24 . "in",
"availability" => $available,
"thumb" => IMG_PATH . "anatoly_zverev".THUMB_PATH. "Thumb_Anatoly_Zverev_Sunset.jpg",
"lg" => IMG_PATH . "anatoly_zverev" . LG_PATH ."Lg_Anatoly_Zverev_Sunset.jpg"
),
$zverev[] = array(
"name" => "Anatoly Zverev",
"title" => '"'."Young Woman".'"',
"year" => 1966,
"media" => "Ink on paper",
"dimentions" => "H:" . 16 . " x W:" . 11.2 . "in",
"availability" => $available,
"thumb" => IMG_PATH . "anatoly_zverev".THUMB_PATH. "Thumb_Anatoly_Zverev_Young_Woman.jpg",
"lg" => IMG_PATH . "anatoly_zverev" . LG_PATH ."Lg_Anatoly_Zverev_Young_Woman.jpg"
)
),
По запросу var_dump ($ художника) .... Странно, но он перебирает эту часть массива 3 раза
array(5) {
["name"]=>
string(14) "Anatoly Zverev"
[0]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(31) ""Portrait of Vladimir Nemukhin""
["year"]=>
int(1982)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:18.5 x W:14in"
["availability"]=>
string(4) "Sold"
["thumb"]=>
string(87) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
["lg"]=>
string(84) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
}
[1]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(8) ""Sunset""
["year"]=>
int(1980)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:33.7 x W:24in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(67) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Sunset.jpg"
["lg"]=>
string(64) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Sunset.jpg"
}
[2]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(13) ""Young Woman""
["year"]=>
int(1966)
["media"]=>
string(12) "Ink on paper"
["dimentions"]=>
string(15) "H:16 x W:11.2in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(72) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Young_Woman.jpg"
["lg"]=>
string(69) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Young_Woman.jpg"
}
["id"]=>
int(46)
}
array(5) {
["name"]=>
string(14) "Anatoly Zverev"
[0]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(31) ""Portrait of Vladimir Nemukhin""
["year"]=>
int(1982)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:18.5 x W:14in"
["availability"]=>
string(4) "Sold"
["thumb"]=>
string(87) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
["lg"]=>
string(84) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
}
[1]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(8) ""Sunset""
["year"]=>
int(1980)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:33.7 x W:24in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(67) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Sunset.jpg"
["lg"]=>
string(64) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Sunset.jpg"
}
[2]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(13) ""Young Woman""
["year"]=>
int(1966)
["media"]=>
string(12) "Ink on paper"
["dimentions"]=>
string(15) "H:16 x W:11.2in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(72) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Young_Woman.jpg"
["lg"]=>
string(69) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Young_Woman.jpg"
}
["id"]=>
int(46)
}
array(5) {
["name"]=>
string(14) "Anatoly Zverev"
[0]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(31) ""Portrait of Vladimir Nemukhin""
["year"]=>
int(1982)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:18.5 x W:14in"
["availability"]=>
string(4) "Sold"
["thumb"]=>
string(87) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
["lg"]=>
string(84) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
}
[1]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(8) ""Sunset""
["year"]=>
int(1980)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:33.7 x W:24in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(67) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Sunset.jpg"
["lg"]=>
string(64) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Sunset.jpg"
}
[2]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(13) ""Young Woman""
["year"]=>
int(1966)
["media"]=>
string(12) "Ink on paper"
["dimentions"]=>
string(15) "H:16 x W:11.2in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(72) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Young_Woman.jpg"
["lg"]=>
string(69) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Young_Woman.jpg"
}
["id"]=>
int(46)
}
array(5) {
["name"]=>
string(14) "Anatoly Zverev"
[0]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(31) ""Portrait of Vladimir Nemukhin""
["year"]=>
int(1982)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:18.5 x W:14in"
["availability"]=>
string(4) "Sold"
["thumb"]=>
string(87) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
["lg"]=>
string(84) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
}
[1]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(8) ""Sunset""
["year"]=>
int(1980)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:33.7 x W:24in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(67) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Sunset.jpg"
["lg"]=>
string(64) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Sunset.jpg"
}
[2]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(13) ""Young Woman""
["year"]=>
int(1966)
["media"]=>
string(12) "Ink on paper"
["dimentions"]=>
string(15) "H:16 x W:11.2in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(72) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Young_Woman.jpg"
["lg"]=>
string(69) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Young_Woman.jpg"
}
["id"]=>
int(46)
}
array(5) {
["name"]=>
string(14) "Anatoly Zverev"
[0]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(31) ""Portrait of Vladimir Nemukhin""
["year"]=>
int(1982)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:18.5 x W:14in"
["availability"]=>
string(4) "Sold"
["thumb"]=>
string(87) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
["lg"]=>
string(84) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Portrait_Vladimir_Nemukhin.jpg"
}
[1]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(8) ""Sunset""
["year"]=>
int(1980)
["media"]=>
string(20) "Mixed media on paper"
["dimentions"]=>
string(15) "H:33.7 x W:24in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(67) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Sunset.jpg"
["lg"]=>
string(64) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Sunset.jpg"
}
[2]=>
array(8) {
["name"]=>
string(14) "Anatoly Zverev"
["title"]=>
string(13) ""Young Woman""
["year"]=>
int(1966)
["media"]=>
string(12) "Ink on paper"
["dimentions"]=>
string(15) "H:16 x W:11.2in"
["availability"]=>
string(10) "/contact/""
["thumb"]=>
string(72) "/artists/anatoly_zverev/images/ldpi/Thumb_Anatoly_Zverev_Young_Woman.jpg"
["lg"]=>
string(69) "/artists/anatoly_zverev/images/mdpi/Lg_Anatoly_Zverev_Young_Woman.jpg"
}
["id"]=>
int(46)
}
Где определение для get_artists_all(); – Kisaragi
Можете ли вы сделать var_dump() на $ artist и поместить его сюда? – Yani
Было бы полезно, если бы вы указали, WHICH всех этих строк на самом деле является строкой 52. Но, как говорится в ошибке, вы используете незаконное смещение строки, то есть вы пытаетесь получить доступ к строке, как если бы это был массив (обычно это нормально), но с использованием ключа, который НЕ может быть сопоставлен с целым числом. например '$ foo = 'foo'; echo $ foo [array()] 'приведет к этой ошибке. –