PHP Grid 類型 Array 獲取行或列 (PHP Grid type Array get row or column)


問題描述

PHP Grid 類型 Array 獲取行或列 (PHP Grid type Array get row or column)

This may sound like a silly question and I'm not thinking hard enough, 

Or its harder than i think... 

Say i have a array of numbers like:

$table = array(
'5','2','1','4','4','4',
'1','2','4','2','1','1',
'3','4','3','1','4','4',
'1','4','2','S','4','4',
'1','2','4','2','1','1',
'5','2','6','4','8','1'
);

S = where I want to get either the row or column based on where "S" is.

I know i can get where S is.

by doing:

$start = array_search('S', $table);

The ''grid'' this array is based on,The S can can be anywhere.

And the grid itself can be different sizes length and width.

How would i go about getting the whole row or column.? 

(IE:S is in column 3 : 4,2,1,S,2,4)

(IE:S is in row 3    : 1,4,2,S,4,4)

Just a hint in the right direction would be helpful, Don't need to go all out for me.

Or a idea on how to approach this.


參考解法

方法 1:

Okay, I guess you have the width you want to use stored somewhere! (And you don't want to use 2-dimensional arrays, check the other answer if you don't care, a 2-dimensional array makes a lot more sense in this case).

If you want to get the line, use $start which is the position of S in the array and divide it by the width. Then you need to round down or up (depends on if you are starting to count at 0 or 1)

For column you need to do something similar, use $start % $width here. (add 1 if you start counting at 1).

方法 2:

Here is a hint:

$table[] = array();
$table[][0] = array(5,2,1,4,5);
$table[][1] = array(1,5,2,3,3);
$table[][2] = array(1,2,'s',4,5);

You will need an array of arrays to have an x/y search.

Your x is the nth element in the outer array.

Your y is the nth element in the inner array.

方法 3:

You can search your string like 's' in array and find column and row of that :

$cols=5;     // your columns count
$row=1;
$i=1;

$array = array('1','2','3','4','5','6','7','s','9');  
foreach($array as $value)  
{  

  if($value=='s')
   {
     echo 'Column : '.$i .' || Row : ' .$row ;
   }
  if($i==$cols)  
   {  
      $i=0;
      $row++;
   }  
   $i++;
}

(by AmyMarinaJonas OsburgChris G.M Rostami)

參考文件

  1. PHP Grid type Array get row or column (CC BY-SA 3.0/4.0)

#row #PHP #grid #arrays






相關問題

PHP Grid 類型 Array 獲取行或列 (PHP Grid type Array get row or column)

在 Twitter 引導程序中為行添加背景顏色和填充 (Adding background color and padding to row in Twitter bootstrap)

從 GROUP BY 組中選擇具有特定內容的行 (Select a row with specific content from a GROUP BY group)

How to delete a row in Sqlite database in Android application by user at listview (How to delete a row in Sqlite database in Android application by user at listview)

mysql fetch 中的 $row 是什麼類型的變量? (What kind of variable is $row from a mysql fetch?)

Rowspan 不使用頂行 (Rowspan not using top row)

包含相同圖像的一半相等部分的行與 HTML 重疊 (Row with half equal section containing same image overlapped HTML)

使用 Oracle 10 監視哪些語句更新(以及何時)某個表行 (Monitoring which statement updates (and when) a certain table row with Oracle 10)

在表格行上調用 Dibs (Calling Dibs on a table row)

從表格視圖單元格添加視圖 (Add view from table view cell)

如何將引導程序 4 中的內容連續居中? (How to center in bootstrap 4 the content in a row?)

是否有更快的方法來檢查數據條目的符號是否與給定熊貓列的前一行中數據條目的符號不同? (Is there a faster way to check if the sign of the data entry is different than the sign of the data entry in previous row for a given pandas column?)







留言討論