সংখ্যাসূচক এবং সহযোগী সূচক কীগুলির মধ্যে কোনও সম্পর্ক নেই।
আপনি যখন বলেন যে আপনি কী / মানের অ্যারের সূচকটি ব্যবহার করে কোনও এসোসিয়েটিভ অ্যারের মান সেট করতে চান , তখন আপনাকে প্রদত্ত কীটি ব্যবহার করতে হবে, সেটিংস $array[1]সেটিংসের মতো নয় $array['foo']।
এই অ্যারে বিবেচনা করুন
print_r( array('foo', 'foo' => 'bar', 'baz', 'some' => 'value') );
এই দেবে
Array
(
[0] => foo
[foo] => bar
[1] => baz
[some] => value
)
Foo অ্যারেতে দ্বিতীয় উপাদান। এটি অফসেট , তবে সূচক 1 এর সাথে এর কোনও যোগসূত্র নেই As আপনি দেখতে পাচ্ছেন, উপরের অ্যারেটিতে, সূচক 1 এর সাথে জড়িত baz। এটি অনুমান করা ভুল যে কেবলমাত্র fooপ্রথম সহকারী কী কারণ এটির আসল সংখ্যাসূচক কীটির সাথে কিছু করার আছে 1. ঠিক যেমন some2 এর সাথে সম্পর্কিত হয় না।
একইভাবে, উপরে দেখানো মত একটি মিশ্র অ্যারের জন্য, array_keysএই সাইটের অন্য কোথাও প্রস্তাবিত সমাধানটি কার্যকর হবে না, কারণ
print_r( array_keys(array('foo', 'foo' => 'bar', 'baz', 'some' => 'value')) );
দিতে হবে
Array
(
[0] => 0
[1] => foo
[2] => 1
[3] => some
)
সুতরাং যখন আপনি $array[$keys[1]]সত্যিই করছেন $array['foo']। তবে আপনি যদি সেই অ্যারেতে দ্বিতীয় সাহিত্যের মানটি অ্যাক্সেস করতে চান ( 'some'), আপনি এটি করতে পারবেন না $array[$keys[2]]কারণ এটি মূল্যায়ন করবে $array[1]এবং এটিই baz।
কোনও উপাদানটির অফসেট এটির মূল বা মানটির সাথে সম্পূর্ণ সম্পর্কিত নয়
print_r(
array(
100 => 'foo',
'foo' => 'bar',
50 => 'baz',
'some' => 'value'
)
);
সত্যিই মানে
Array
(
[100] => foo
[foo] => bar
[50] => baz
[some] => value
)
যার অর্থ অফসেট 0 এ থাকা উপাদানটি foo হয় যদিও এটি কীটি 100 টি you আপনি যদি অফসেটের সাহায্যে অ্যারে থেকে উপাদানগুলি বের করতে চান তবে আপনাকে ব্যবহার করতে হবে
$third = array_splice($array, 2, 1);
echo $third[0];
এটি তৃতীয় অবস্থানে কেবলমাত্র উপাদান রেখে একটি অ্যারে তৈরি করবে।
অথবা আপনি একটি ব্যবহার করতে পারে ArrayIterator। ArrayIteratorকার্যকরী একটি Seekableইন্টারফেস আপনি যদি একটি নির্দিষ্ট অবস্থানে নেওয়া দেয় / অ্যারের মধ্যে অফসেট এবং তারপর আনা যে:
$iterator = new ArrayIterator($array);
$iterator->seek(3);
echo $iterator->current();